Puede que en algún momento necesitemos generar claves aleatorias dentro de nuestras aplicaciones, por ejemplo, yo las estoy utilizando para crear identificadores únicos al momento de guardar datos en una tabla, la siguiente función permite obtener cadenas de caracteres aleatorias con una longitud determinada.
El algoritmo funciona de la siguiente manera
1. Se crea un arreglo que contienen letras mayúsculas, minúsculas y números, en total 62 caracteres
2. Se generan números aleatorios entre 0 y 61, la idea obtener en forma aleatoria una posición dentro del arreglo
3. Recuperamos el valor de la entrada en el arreglo (Paso 1) según el índice aleatorio (Paso 2).
Los resultados por ejemplo pueden ser por ejemplo mHpV7HzmFRMSEh6k0dh6, como podemos observar las secuencia en este ejemplo es de longitud 20 y está compuesta de forma aleatoria de letras y números.
La función es la siguiente
Private Function GeneraClaveAleatoria(ByVal Longitud As String) As String
Dim Clave As String = “”
Dim Valores(61) As Char
Dim i As Integer
Dim j As Integer
j = 64 j = j + 1 Valores(i) = Chr(j) j = 96 j = 47
Select Case j
Case 90
Case 122
End Select
Next
Randomize() Clave = Clave & Valores(Int(61 * Rnd()))
Next
Return Clave
End Function
La llamada a la función para generar una clave de 20 caracteres aleatorios sería
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(GeneraClaveAleatoria(20))
End Sub
Una variante sería generar claves donde al principio solo salga letras y luego números
Hasta la próxima
Archivado bajo: General