2009-12-27 16 views
19

Sto cercando una libreria crittografica che fornisca l'hash SHA-512. Cercando su Google ho trovato alcuni ma SHA-512 è assente.libreria SHA-512 per PHP

Si prega di suggerire.

risposta

33

Se si utilizza PHP> = 5.3, la funzione openssl_digest dovrebbe fare il trucco:

echo openssl_digest('glop', 'sha512'); 

mi dà questa uscita (diviso in due righe per ottenere una migliore leggibilità):

416b1861951170e1f6eb6543b0dd3d4f1994ce8da7cd82061513d3ddd1dd81111 
f4ada5caf6421f1d17425c6f29bdb4a95cf84df9eda4164f5a762acbb490a68 

(ed è possibile utilizzare openssl_get_md_methods per ottenere l'elenco dei metodi di digest disponibili)


E con PHP 5.1 o 5.2, si hanno la funzione hash:

echo hash('sha512', 'glop'); 

mi dà la stessa uscita (a spacco, anche):

416b1861951170e1f6eb6543b0dd3d4f1994ce8da7cd82061513d3ddd1dd81111 
f4ada5caf6421f1d17425c6f29bdb4a95cf84df9eda4164f5a762acbb490a68 

E, qui, per conoscere l'elenco dei metodi di digest disponibili, è possibile utilizzare hash_algos

+5

qual è la differenza tra '' openssl_digest' e hash' in php> = 5.3? – Markus

+2

-1 per non spiegare perché 'openssl_digest' deve essere preferito a' hash'. –

+2

bene qualcuno può spiegare se e perché usare openssl_digest invece di hash? – Rob

15

In PHP 5> = 5.1.2, PECL hash> = 1.1:

hash('sha512', someStr); 

Vedere hash() per ulteriori informazioni.
Per vedere tutti gli algoritmi di hash a vostra disposizione, provare:

print_r(hash_algos()); 
Problemi correlati