2009-12-27 19 views
19

Estoy buscando cualquier biblioteca de cifrado que proporcione el hash SHA-512. Buscando en Google he encontrado algunos, pero SHA-512 está ausente.Biblioteca SHA-512 para PHP

Sugerido.

Respuesta

33

Si está usando PHP> = 5.3, la función openssl_digest debe hacer el truco:

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

me da esta salida (dividido en dos líneas para conseguir una mejor legibilidad):

416b1861951170e1f6eb6543b0dd3d4f1994ce8da7cd82061513d3ddd1dd81111 
f4ada5caf6421f1d17425c6f29bdb4a95cf84df9eda4164f5a762acbb490a68 

(Y puede usar openssl_get_md_methods para obtener la lista de métodos de resumen disponibles)


Y con PHP 5.1 o 5.2, que tienen la función hash:

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

me da la misma salida (dividido, también):

416b1861951170e1f6eb6543b0dd3d4f1994ce8da7cd82061513d3ddd1dd81111 
f4ada5caf6421f1d17425c6f29bdb4a95cf84df9eda4164f5a762acbb490a68 

Y, aquí, a saber la lista de métodos de resumen disponibles, puede usar hash_algos

+5

¿cuál es la diferencia entre '' openssl_digest' y hash' en PHP> = 5.3? – Markus

+2

-1 por no explicar por qué 'openssl_digest' debe preferirse a' hash'. –

+2

¿alguien puede explicar si y por qué usar openssl_digest en lugar de hash? – Rob

15

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

hash('sha512', someStr); 

Consulte hash() para obtener más información.
para ver todos los algoritmos hash disponibles para usted, trate de:

print_r(hash_algos()); 
Cuestiones relacionadas