Bas*_*ing 5 java hash matlab md5 rfc
我想使用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,[])
Run Code Online (Sandbox Code Playgroud)
而且例程工作正常.不知何故,结果与给定的工具不同.
也许文件编码有问题?MATLAB内部不应该解决这个问题吗?
我想重现结果,一个是md5sum(在linux上),它与HashCalc(Windows)相同.
小智 6
有两个问题:
此代码有效:
mddigest = java.security.MessageDigest.getInstance('MD5');
filestream = java.io.FileInputStream(java.io.File(filename));
digestream = java.security.DigestInputStream(filestream,mddigest);
while(digestream.read() ~= -1) end
md5hash=reshape(dec2hex(typecast(mddigest.digest(),'uint8'))',1,[]);
Run Code Online (Sandbox Code Playgroud)
/!\编辑:p.vitzliputzli回答了一个非常快的解决方案,应该使用它而不是这个解决方案.
| 归档时间: |
|
| 查看次数: |
2495 次 |
| 最近记录: |