Pregunta

¿Existe algún algoritmo ya hecho para generar código de invitación por ruby?Puedo pensar al principio MD5, pero su salida es demasiado larga para 32, así que quiero que la longitud de salida sea menor que 16.

Gracias de antemano.

¿Fue útil?

Solución

Suponiendo que está almacenando el código (de lo contrario, ¿cuál es el punto?), simplemente haga una cadena aleatoria y verifique si existe antes de guardar, e intente una nueva cadena si existe.No se necesita un algoritmo importante.

Otros consejos

¿Qué tan "seguro" desea su código de invitación?Puede generar un hash MD5 y simplemente tomar los primeros o últimos 16 caracteres, o cualquier combinación de 16 caracteres del código hash (por ejemplo, cualquier otra posición en el hash).Eso debería ser lo suficientemente bueno para un código de invitación.

SecureRandom.uuid

Esto producirá un resultado como el siguiente.

2.1.0 :005 > SecureRandom.uuid
 => "b2a8ed4c-f71f-4c7d-a0fb-a66de58d37cc" 
2.1.0 :006 > 

Lo suficientemente corto y extremadamente improbable para causar una colisión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top