Estoy tratando de generar una ID única en php para poder almacenar el contenido subido por el usuario en un FS sin conflictos. Estoy usando PHP, y por el momento este pequeño fragmento es responsable de generar el UID:Generando una ID única en PHP
$id = tempnam (".", "");
unlink($id);
$id = substr($id, 2);
Este código es horrible: se crea un archivo temporal en el FS y lo borra, conservando solamente la única parte relevante de la cadena generada
¿Hay alguna forma mejor de hacerlo, más preferiblemente sin dependencias externas?
¡Muchas gracias!
¿No sería molesto con MD5 realmente hacer más probable generar colisiones? – nickf
Estaba a punto de decir esto. Sha1 tiene menos colisiones, pero definitivamente hay ese problema en hash. Recuerde: cuanto más tiempo realice la identificación única, y cuantas más veces haga algo "aleatorio", menor será la probabilidad de colisión. –
En realidad, veo que eres un punto, querías una ID, no un valor simbólico ... EDITADO. –