Signature MD5 d'un fichier
Le 10 mars 2008, à 0:51 par Ulhume...
Signature MD5 d'un fichier
public static String getSignature
(File root,
String hashMethod,
boolean includeFileStamps
) throws IOException {
try {
MessageDigest digest
= MessageDigest.
getInstance(hashMethod
);
digest.
reset();
InputStream input
= new FileInputStream(root
);
byte[] buffer
= new byte[4 * 1024];
int nbBytes
;
while ((nbBytes
= input.
read(buffer
)) > 0) {
digest.
update(buffer,
0, nbBytes
);
}
if (includeFileStamps
) {
digest.
update((root.
canRead() + ":" + root.
canWrite() + ":" + root.
lastModified() + ":" + root.
length()).
getBytes());
}
input.
close();
byte[] signature
= digest.
digest();
ExtendedString result
= new ExtendedString
(32);
for (byte value
: signature
) {
result.
append(ConversionUtilities.
toHexString(0x00FF
& value
));
}
return result.
toString();
}
catch (NoSuchAlgorithmException e
) {
throw new RuntimeException(e
);
}
}