8

Stiamo cercando di evitare il salvataggio di file duplicati. Tuttavia, il nostro risultato md5 è sempre diverso da BlobInfo.Come viene calcolato md5Hash per com.google.appengine.api.blobstore.BlobInfo

come calcolarla:

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

Non corrisponde: con (new BlobInfoFactory().loadBlobInfo(blobKey)).getMd5Hash();

discordanze Esempio:

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

E 'sul server di produzione. (non abbiamo testato l'ambiente di sviluppo)

+0

Stai provando questo nel devappserver o in prod? –

+0

Puoi anche pubblicare quello che stai ricevendo e quello che ti aspetti. Inoltre, che tipo di file stai caricando? –

+0

Entrambe le domande hanno risposto. I file sono in genere pdf e immagini (jpeg). –

risposta

7

Sebastian Kreft ha ragione nella discussione sopra nei commenti.

Il codice che ho copiato è errato. dovrebbe essere solo:

String digestString = DigestUtils.md5Hex(bytes); 

Sebastian Kreft usato il trucco per verificare md5 del file vuoto che deve essere sempre d41d8cd98f00b204e9800998ecf8427e!

Problemi correlati