Generar contraseñas aleatorias en Excel usando fórmulas y macros

En la actualidad, donde todo es información, la seguridad juega un rol importante en nuestras vidas. Ahora casi la mayoría de las personas tiene cuenta de correo electrónico y de redes sociales. También es cierto que la mayoría de las personas usan la misma contraseña para sus diferentes sitios, lo que pone en riesgo la privacidad de sus cuentas.

A qué quiero llegar con eso. En este artículo voy a mostrarte 3 método para los cuales puedes tener un generador de contraseñas en Excel. Los primeros dos son en base a fórmulas y el tercero en base a macros, tendremos una función personalizada o UDF que nos generará contraseñas aleatorias. Veamos.

Ver video Generar contraseñas aleatorias en Excel usando fórmulas y macros

Clic para suscribirte a nuestro canal de Youtube.

Generador de contraseñas 1 de 3. Uso de la función CARACTER

La definición de la función CARACTER dice “Devuelve el carácter especificado por el número de código a partir del juego de caracteres establecido en su PC”. Ese código de caracteres es el llamado código ASCII.

Para el uso de la función CARACTER vamos poder usar desde el número 1 hasta el 255, pero para generar las contraseñas usaremos los código del 48 al 90, que corresponden a números, MAYÚSCULAS y algunos signos, y del 97 al 122 que es el abecedario en minúsculas.

Como quedamos, la función CARACTER nos devolverá una letra, símbolo o número. Le anidaremos la función ALEATORIO.ENTRE para generar caracteres aleatorios. Por ejemplo:

=CARACTER(ALEATORIO.ENTRE(48,90))

La fórmula anterior sólo nos genera un caracter. Deberemos de CONCATENAR la misma fórmula varias veces para generar una secuencia de caracteres que podamos usar como contraseña. Así nos quedaría para 5 caracteres.

=CARACTER(ALEATORIO.ENTRE(48,90))&CARACTER(ALEATORIO.ENTRE(48,90))&CARACTER(ALEATORIO.ENTRE(48,90))&CARACTER(ALEATORIO.ENTRE(48,90))&CARACTER(ALEATORIO.ENTRE(48,90))

 CARACTER y ALEATORIO.ENTRE para generar contraseñas aleatorias

Figura 1. CARACTER y ALEATORIO.ENTRE para generar contraseñas aleatorias.

Generador de contraseñas 2 de 3. Uso de la función ÍNDICE y una lista de códigos.

La segunda opción para generar contraseñas aleatorias es tener una lista de los caracteres que queramos que se elijan de manera aleatoria, para posteriormente usar la función ALEATORIO.ENTRE para elegir diferentes posiciones de la lista de códigos.

Usamos la función CARACTER en base a los códigos de la columna G.

Figura 2. Usamos la función CARACTER en base a los códigos de la columna G.

Ahora usaremos la función INDICE para devolver una posición dentro de la lista de caracteres. A la función INDICE le anidaremos la función ALEATORIO.ENTRE para que la posición de la lista sea aleatoria y por consiguiente devuelva cualquier caracter de la lista. Para la primera parte usamos la siguiente fórmula, y así en las 5 partes.

=INDICE($F$8:$F$76,ALEATORIO.ENTRE(1,69))

Combinamos INIDICE con ALEATORIO.ENTRE para traer valores de una lista códigos de manera aleatoria.

Figura 3. Combinamos INIDICE con ALEATORIO.ENTRE para traer valores de una lista códigos de manera aleatoria.

Por último unimos las 5 partes de la contraseña con la función EXCELeINFOCONCATENAR contenida en EXCELeINFO add-in.

Contraseñas aleatorias en Excel

Figura 4. Combinamos INDICE, ALEATORIO.ENTRE.

Generador de contraseñas 3 de 3. Función personalizada PassAleatorio.

Si sigues este Blog seguro adivinarás que este método es mi favorito, ya que usaremos macros para generar contraseñas aleatorias.

Para este ejemplo he desarrollado una Función personalizada o UDF que nos permitirá elegir el largo de la contraseña, es decir, de cuántos caracteres queremos que se arme la contraseña.

Recuerda: El número de caracteres máximo por celda era de 1,024 en 2003 y es de 32,767 en 2007-2016.

Le he puesto el nombre PassAleatorio a la función. Esta función permitirá un parámetro que es la cantidad de caracteres conformarán la contraseña. Así.

[A1] = =PassAleatorio(10)

UDF PassAleatorio en Excel

Figura 5. UDF PassAleatorio en Excel.

Código vba de la macro

'---------------------------------------------------------------------------------------
' Module    : Módulo1
' Author    : MVP, Sergio Alejandro Campos
' Date      : 24/09/2016
' Purpose   : UDF para generar contraseñas aleatorias
'---------------------------------------------------------------------------------------
'
Function PassAleatorio(Cantidad As Integer)
'
'Usar siempre en una UDF
Application.Volatile
'
'Declaramos variables
Dim Valor As Variant
Dim Valor1 As Variant
'
Valor1 = Null
'
'Recorremos de 1 a la Cantidad especificada en el parámetro Cantidad
For i = 1 To Cantidad
    '
    Valor = Chr(Application.WorksheetFunction.RandBetween(48, 90))
    '
    Valor1 = Valor1 & Valor
    '
Next i
'
'Asignamos a la función los caractere concatenados.
PassAleatorio = Valor1
'
End Function

Descarga el ejemplo

Descarga el archivo de ejemplo que contiene las fórmulas vistas en este artículo, además de las macros.

Descargar el ejemplo Generar contraseña aleatoria.rar

También te podría gustar...