Tengo un problema que se soluciona fácilmente con Guids.Generación de guías en Ruby
En particular, para un flujo de trabajo de restablecimiento de contraseña, me gustaría enviar un token Guid al correo electrónico de un usuario y hacer que restablezcan su contraseña utilizando el token. Como las guids son únicas, esto es bastante seguro y me ahorra contraseñas de personas por correo electrónico, lo cual es arriesgado.
Me di cuenta de que hay uno Guid gem para Ruby; pero parece bastante viejo, y escribe cosas en el sistema de archivos.
¿Alguien sabe de alguna otra gema que pueda crear un identificador global único?
sé que sólo puede caer de nuevo a:
(0..16).to_a.map{|a| rand(16).to_s(16)}.join
Pero no parece realmente como un GUID adecuado ...
Usar una cadena aleatoria como esa no sería del todo correcto; ciertos bits en el UUID especifican la variante y la versión. Para un UUID aleatorio, probablemente desee la variante 2 (RFC 4122) y la versión 4, en cuyo caso 6 bits determinados deben configurarse con los valores correctos. – jtpereyda
Sí @dafrazzman tiene razón. Al remontar al azar algo que "se asemeja a un UUID" no garantiza la singularidad. Si bien ningún UUID está * realmente * garantizado, la construcción de uno con números aleatorios es mucho más susceptible a las colisiones y no podría ser digno de la etiqueta "UUID". Definitivamente vaya con SecureRandom.uuid! – dooleyo