我想使用 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)的结果。