Tom*_*man 8 google-app-engine md5 duplicate-removal message-digest blobstore
我们试图避免保存重复的文件.但是,我们的md5结果总是与BlobInfo不同.
我们如何计算它:
MessageDigest messageDigest = java.security.MessageDigest.getInstance("MD5");
digest = messageDigest.digest(bytes);
String digestString = DigestUtils.md5Hex(digest);
Run Code Online (Sandbox Code Playgroud)
它不符合: (new BlobInfoFactory().loadBlobInfo(blobKey)).getMd5Hash();
示例不匹配:
google vs my own calculation:
8cdeb6db94bc4fd156e2975fd8ebbcf2 vs 9003b37afbf3637de96c35774069453f
65a25dafcba58d16d58a9c7585cc3932 vs 52383159f7d27417d50121aaee2728b5
5cccc2d690fdc0c254234d5526876b34 vs 8196da9b6733daa60e08d927693df483
Run Code Online (Sandbox Code Playgroud)
它在生产服务器上.(我们没有测试开发环境)
塞巴斯蒂安·克雷夫特在评论中的上述讨论中是正确的.
我复制的代码是错误的.它应该只是:
String digestString = DigestUtils.md5Hex(bytes);
Run Code Online (Sandbox Code Playgroud)
Sebastian Kreft使用这个技巧来验证空文件的md5,它应该始终是d41d8cd98f00b204e9800998ecf8427e!
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |