Un UUID más corto, ASCII85 con PHP

Leí sobre el UUID v4 y es prácticamente único, y eso es lo que necesito. El problema es que es un número demasiado grande, ¿es posible generar UUID como Facebook o Twitter con menos caracteres?

Leí una publicación, donde puedes reducir este código a 20 con Ascii85, pero no veo un script PHP confiable haciendo el trabajo. ¿Alguien sabe una clase probada? para identificación aleatoria es la mejor manera de almacenar este 20 char, ¿verdad?

— Editar —

@David Schwartz

Gracias. Necesito un identificador único al azar en un solo servidor, entre 8 y 16 caracteres (ok 20 está bien si es el más bajo). La idea es identificar objetos con ID legibles pero NO incrementales (primer objeto 10001, segundo 10002), la forma en que 542A4B243J, C63426KJ70, O30V4U1I9P, etc. está bien. Los identificadores son necesarios para ser claves primarias en (al menos) 6 tablas de MySQL. Los objetos se crean con PHP en el mismo servidor.

@ ta.speot.is

Escribí “no veo un script PHP confiable haciendo el trabajo. ¿Alguien sabe una clase probada?” No creo que todo el código que aparece en google esté probado, ¿has probado todos los enlaces?

@sarnold

Gracias, pero lo siento, no entendí bien = (

Enfrenté el mismo problema para un proyecto empresarial en el que estaba trabajando, y no pude encontrar una solución probada y rápida razonable en PHP. Así que decidí escribir una extensión de PHP que se puede utilizar para codificar / decodificar datos con base85 / ascii85.

Puede consultarlo aquí: https://github.com/miezuit/php-base85

Se prueba usando un conjunto de pruebas automatizadas.

Intereting Posts