8

重複ファイルの保存を回避しようとしています。ただし、md5 の結果は常に BlobInfo とは異なります。

計算方法:

    MessageDigest messageDigest = java.security.MessageDigest.getInstance("MD5");
    digest = messageDigest.digest(bytes);
    String digestString = DigestUtils.md5Hex(digest);

一致しません:と(new BlobInfoFactory().loadBlobInfo(blobKey)).getMd5Hash();

不一致の例:

google vs my own calculation:
8cdeb6db94bc4fd156e2975fd8ebbcf2 vs 9003b37afbf3637de96c35774069453f 
65a25dafcba58d16d58a9c7585cc3932 vs 52383159f7d27417d50121aaee2728b5 
5cccc2d690fdc0c254234d5526876b34 vs 8196da9b6733daa60e08d927693df483 

本番サーバーにあります。(開発環境はテストしていません)

4

1 に答える 1

7

Sebastian Kreft は、コメントでの上記の議論で正しいです。

私がコピーしたコードは間違っています。それはちょうどあるべきです:

String digestString = DigestUtils.md5Hex(bytes);

Sebastian Kreft はこのトリックを使用して、常に d41d8cd98f00b204e9800998ecf8427e であるはずの空のファイルの md5 を検証しました!

于 2012-12-26T20:11:19.183 に答える