Java-Security-Implementationsを使用して、MATLAB内でMD5(またはその他の)ファイルハッシュ( RFC 1321準拠)を計算したいと思います。したがって、私はコーディングしました
mddigest=java.security.MessageDigest.getInstance('MD5');
filestream=java.io.FileInputStream(java.io.File(filename));
digestream=java.security.DigestInputStream(filestream,mddigest);
md5hash=reshape(dec2hex(typecast(mddigest.digest,'uint8')),1,[])
ルーチンは正常に機能しています。どういうわけか、結果は与えられたツールとは異なります。
たぶん、ファイルのエンコードに問題がありますか?MATLABはそれを内部的に解決すべきではありませんか?
結果を再現したいと思います。md5sum(Linuxの場合)で取得します。これは、HashCalc(Windows)の結果と同じです。