Pregunta

¿Cuál es una buena manera de generar aleatoriamente algunos códigos de activación de nuevo no probables para usar? Estoy haciendo un sistema de cumplimiento automático para una aplicación web.

Estoy usando C#.

¿Fue útil?

Solución

Otros consejos

Depende de tus objetivos. Un GUID es fácil de generar, pero es un dolor si el usuario tiene que ingresarlo manualmente. Eso está bien si la activación está ocurriendo (por ejemplo) haciendo clic en una URL proporcionada en el correo electrónico, o si puede esperar que el usuario copie y pegue un valor de un correo electrónico de activación.

En otros casos (por ejemplo, un software retractado donde el código de activación se imprime físicamente en el empaque de alguna manera), el usuario ingresará manualmente el código. En este caso, es mejor que use un método similar a lo que usan Microsoft y Blizzard: generar un código que consta de cinco grupos de cinco caracteres alfanuméricos aleatorios (omita las vocales si desea eliminar el riesgo de que un código de activación contenga algo como 4shit), y verifique cada código generado en una lista maestra para duplicados. (Aunque creo que las probabilidades de incluso una secuencia de 100,000 extraídas de {1, 2, ... 34^26 - 1} que contienen un duplicado son bastante pequeñas. Es difícil decirlo con certeza, porque la única forma que sé de calcular se desborda un doble.)

Guía.newguid (). ToString ()

Si no te importa una longitud de 36 caracteres.

Probablemente deberías usar un GUID

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