Sto provando a calcolare/generare l'hash CRC32 di alcune stringhe casuali usando Python ma non corrispondono ai valori che ho generato da fonti online. Ecco quello che sto facendo sul mio PC,Come calcolare CRC32 con Python per abbinare i risultati online?
>>> import binascii
>>> binascii.crc32('hello-world')
-1311505829
Un altro approccio,
>>> import zlib
>>> zlib.crc32('hello-world')
-1311505829
Il fatto che i risultati di cui sopra sono identici mi dice che sto chiamando la funzione correttamente. Ma, se vado alle seguenti fonti online,
- http://www.lammertbies.nl/comm/info/crc-calculation.html
- http://crc32-checksum.waraxe.us/
- http://www.md5calc.com/ (selezionare CRC32B da discesa)
Per la stringa "ciao-mondo" tutti dare lo stesso valore = b1d4025b
Qualcuno sa cosa devo fare per ottenere risultati corrispondenti?
Mentre stavo scrivendo questa domanda mi venne in mente che potrei avere bisogno di convertire il mio risultato Python in esadecimale,
>>> hex(zlib.crc32('hello-world'))
'-0x4e2bfda5'
Purtroppo, questo non ha aiutato neanche. :(
questo è il CRC32 corretto di "ciao-mondo", cosa ti aspetti di essere il CRC32? – Yeo
@Yeo: Il CRC32 corretto di 'ciao-mondo' è' 0xb1d4025b' come un int unsigned, '-0x4e2bfda5' come int firmato. Chiaramente non sa come questi due valori sono correlati, quindi la domanda. – abarnert