Generar código alfanumérico aleatorio


([N4] carlitos) #1

Hola

tengo que generar un campo con un registro alfanumerico de 8 dígitos aleatorios, pero la función ramdom, solo utiliza numeros.
¿alguna idea?

gracias


([N2] Mgalvezh) #2

Convierte esos numero a letras por el código ascii.

Saludos.
Miguel.


([N2] basesoft) #3

Obtienes una cadena de números aleatorios de 16 caracteres
Vas tomando sub cadenas de cada dos números
(también puedes obtener 8 números aleatorios de 2 caracteres)
Conviertes cada subcadena en número
y obtienes el módulo a 36

Opción 1
si es menor que 10, le sumas 48
si no es menor que 10, le sumas 64
Así obtienes el nº ascii decimal de un número o de una letra

Opción 2
creas una constante con los 10 numeros y las 26 letras
en el orden que tú desees mezclando números y letras (esto resulta menos descifrable y puedes añadirle otros signos como @ o # o letras como la Ñ, o quitarle letras como el del código de control del DNI)
Aquí el módulo será la longitud de la constante (mejor un número primo, 23 ó 27 p.e.)
La letra o número será el que esté en la posición correspondiente al módulo

Nota: Comprueba los números porque lo estoy escribiendo según lo pienso, y no pienso probarlo

Juan Figueroa
“Cuco”


([N2] basesoft) #4

quise decir 23 ó 29
27 no es primo
pero vale cualquier longitud


([N2] basesoft) #5

¿Qué?¿Qué tal, chico?¿Cómo te fue con la aleatorización?
De nada.