Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

345
Vistas
¿Cómo generar una clave única para una matriz?

Me gustaría generar un identificador único basado en el contenido de una matriz. Mi enfoque inicial fue simplemente hacer:

 $key = md5(json_encode($array));

Sin embargo, me gustaría estar absolutamente seguro de que la clave es única y existe una posibilidad remota de que dos matrices distintas puedan producir el mismo hash md5. La idea actual es hacer:

 $key = base64_encode(json_encode($array));

Se garantiza que esto es único, pero produce una clave bastante larga. ¿Puedo usar sha512 o este tipo de hash también tiene el mismo potencial de colisión de claves que md5? ¿Hay alguna forma de generar una clave más corta que el método base64 que está 100% garantizado como único?

Para ser 100% claro, mi pregunta es: ¿Cómo puedo generar el identificador 100% único más corto posible para un conjunto de datos?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si desea una clave única 100 % garantizada que coincida con su contenido, entonces la única forma es utilizar la longitud completa de su contenido. Puede usar la cadena json_encoded tal cual, o puede ejecutarla a través de base64_encode() o bin2hex() o similar si desea una cadena que no tenga caracteres "especiales". Cualquier función hash como md5, sha1, sha256, etc. obviamente no puede ser 100% única, porque tienen una longitud fija y debido al https://en.wikipedia.org/wiki/Pigeonhole_principle , necesariamente debe haber resultados no únicos para contenido de entrada que es más grande que el hash.

En la práctica, ahora se han publicado las colisiones md5 y sha1, pero existen funciones hash más sólidas donde no se conocen o esperan colisiones durante mucho tiempo, por lo que también podría considerar el uso de un algoritmo hash moderno y estar bastante seguro de que no tendrá ninguna. duplicados

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda