Apparentemente la funzione PHP hash()
può essere richiamata con gli algoritmi crc32
e crc32b
? Qual'è la differenza tra loro?Qual è la differenza tra crc32 e crc32b?
risposta
Come risposta da apm su php.net: "Ho verificato che l'output di" crc32 "è l'algoritmo ITU I.363.5 (noto anche come AAL5 CRC - reso popolare da BZIP2 ma utilizzato anche nelle trasmissioni ATM - l'algoritmo è la stessa di POSIX 1003.2-1992 in Cksum ma che inserisce le dimensioni nel CRC alla fine per misure extra.) - crc32b è la sequenza di controllo fotogrammi a 32 bit di ITU V.42 (utilizzata in Ethernet e reso popolare da PKZip). L'output di questo CRC è reso popolare nel formato Intel little endian e produrrebbe cbf43926 sullo stesso file. "
Il commento completo: http://www.php.net/manual/en/function.hash-file.php#104836
Due algoritmi completamente diversi. CRC32b è un'implementazione dell'algoritmo di coerenza definito here, mentre CRC32 è la sequenza di controllo frame definita here. Sono due cose completamente diverse, anche se le differenze non sono spesso grandi.
Un modo per controllare questo:
<?php
echo hash("crc32", __FILE__)."<br/>";
echo hash("crc32b", __FILE__); ?>
causa della loro somiglianza, i valori iniziali esadecimali sarà relativamente simili.
C'è un motivo per sceglierne uno rispetto all'altro? – user2045006
@ user2045006: No. Differiscono solo nei dettagli di implementazione e negli usi storici. Uno lavora con i flussi, l'altro con i frame. Per la grande maggioranza dei casi, si può ritenere che questo sia equivalente nelle prestazioni. –
- 1. Qual è la differenza tra = e: =
- 2. Qual è la differenza tra Verilog! e ~?
- 3. Qual è la differenza tra? : e ||
- 4. qual è la differenza tra [[], []] e [[]] * 2
- 5. Qual è la differenza tra $ e $$?
- 6. Qual è la differenza tra ("") e (null)
- 7. Qual è la differenza tra dict() e {}?
- 8. Qual è la differenza tra " " e ""?
- 9. Qual è la differenza tra {0} e ""?
- 10. Qual è la differenza tra `##` e `hashCode`?
- 11. Qual è la differenza tra {0} e +?
- 12. Qual è la differenza tra .ToString() e + ""
- 13. qual è la differenza tra:.! e: r !?
- 14. Qual è la differenza tra "è Nessuno" e "== Nessuno"
- 15. Unix: Qual è la differenza tra la fonte e l'esportazione?
- 16. Qual è la differenza tra il callback e la promessa
- 17. Qual è la differenza tra la sezione .got e .got.plt?
- 18. Qual è la differenza tra la lista() e []
- 19. Qual è la differenza tra GHC e la piattaforma Haskell?
- 20. Qual è la differenza tra sé e la finestra?
- 21. Qual è la differenza tra la cartella vim72 e vimfiles?
- 22. Qual è la differenza tra la serratura e RLock
- 23. Qual è la differenza tra la funzione() {}() e function() {}()
- 24. Qual è la differenza tra la crittografia SHA e AES?
- 25. Qual è la differenza tra la [OptionalField] e [NonSerialized]
- 26. Qual è la differenza tra Chisel e Lava e CLaSH?
- 27. Qual è la differenza tra queste funzioni
- 28. Qual è la differenza tra queste funzioni?
- 29. Qual è la differenza tra Response.Write() eResponse.Output.Write()?
- 30. Qual è la differenza tra applicationDidReceiveMemoryWarning, didReceiveMemoryWarning?
Ci sono un paio di utenti che lo spiegano qui: http://www.php.net/manual/en/function.hash-file.php#104836 – Uby
google mi ha dato questo-- help shld http: // www .pal-blog.de/entwicklung/perl/2012/crc32-vs-crc32b.html – Dinesh