I would like to know how to program an application to calculate message digest of a hard disk volume. I have googled pretty much but could not understand how to get through. When hashing files or string in Java its easy to do so, but what if I have to create the message digest for a volume or external mounted volume? Some of the linux command line utilities like dc3dd/dcfldd are capable of on the fly hash generation, (Several other tools are available as well). I would like to use Java for this purpose.
I have been developing a little fun project named PsychoHasher and I would to include the questioned feature into it as well. The project is in development and I have uploaded it on github, See is here:
https://github.com/AnimeshShaw/PsychoHasher. I will create a proper thread for it when I will release the first version.
I am having trouble understanding how to read the volumes. It would be great if someone can explain some concept to achieve this functionality.