w3schools password_hash password_bcrypt password net ejemplo desencriptar php arrays hash

php - password_bcrypt - password_hash



Hashing una matriz completa de PHP en un valor Ășnico (5)

¿Qué hay de serializar?

$filename = md5(serialize($someArray));

Esta pregunta ya tiene una respuesta aquí:

Buscando una manera de producir un hash seguro de nombre de archivo de una matriz de PHP dada. Actualmente estoy haciendo:

$filename = md5(print_r($someArray, true));

... pero se siente "hacky" usando print_r () para generar una cadena única para cada matriz.

¿Alguna idea brillante para una forma más limpia de hacer esto?

EDITAR Bien, parece que todos piensan que serializar es más adecuado para la tarea. ¿Alguna razón por qué? No estoy preocupado por la posibilidad de recuperar información sobre la variable después de hash (lo cual es bueno, ¡ya que es un hash de una sola dirección!). Gracias por las respuestas!



El uso de serialize() puede ser más conservador si desea conservar el tipo, etc.


Use md5(serialize()) lugar de print_r() .

El propósito de print_r() es principalmente como una función de depuración y está formateado para visualización de texto sin formato, mientras que serialize() codifica una matriz o representación de objetos como una cadena de texto compacta para persistencia en la base de datos o almacenamiento de sesión (o cualquier otro mecanismo de persistencia).


serialize() debería funcionar bien.

Tiene la ventaja adicional de invocar el método mágico __sleep en objetos y ser el método de serialización más limpio disponible en PHP en general.