Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

350
Visualizações
¿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?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

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

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda