Cómo crear un generador de contraseñas aleatorias
Publicado: 2022-01-29Los lectores habituales de PCMag saben que recomendamos encarecidamente utilizar una contraseña única y compleja para cada sitio web, y que la única forma de hacerlo es con la ayuda de un administrador de contraseñas. Cargar esa herramienta con todas sus contraseñas es un buen comienzo, pero el trabajo no termina ahí. No estará completamente protegido hasta que reemplace cada contraseña débil y reutilizada con una contraseña única que nadie pueda adivinar y que ni siquiera usted pueda recordar. Un ataque de descifrado de contraseñas de fuerza bruta bien podría dar con una contraseña como Rover, pero fallará cuando la contraseña sea algo así como ApiDiS57IhY1M#t%qIEg.
¿Dónde obtiene sus contraseñas?
La pregunta es ¿de dónde sacas esas contraseñas aleatorias? Casi todos los administradores de contraseñas vienen con su propio generador de contraseñas aleatorias, algunas de las cuales son mejores que otras. Sin embargo, en la mayoría de los casos, el programa utiliza lo que se denomina un algoritmo pseudoaleatorio. En teoría, un pirata informático que conoce el algoritmo y tiene acceso a una de sus contraseñas generadas podría replicar todas las contraseñas generadas posteriormente (aunque sería bastante difícil). Si eres lo suficientemente paranoico, quizás quieras crear tu propio generador de contraseñas aleatorias. Podemos ayudarlo a construirlo usando Microsoft Excel.
Algunas tareas de seguridad están innegablemente más allá del ámbito del hágalo usted mismo, es cierto. No va a construir su propia red privada virtual o VPN, por ejemplo. Pero construir este pequeño proyecto no requiere conocimientos avanzados, solo la capacidad de seguir instrucciones. No usa macros ni cosas sofisticadas, solo funciones ordinarias de Excel. Tenga en cuenta que este proyecto necesariamente se basa en el algoritmo pseudoaleatorio de Excel. La diferencia aquí es que los delincuentes pueden estudiar el generador de contraseñas integrado en cualquier administrador de contraseñas disponible públicamente, mientras que no tienen acceso al tuyo.
Nuestras mejores selecciones de administradores de contraseñas
Ver todo (4 artículos)Crear el andamio del generador de contraseñas
Primero, creemos el andamio que enmarcará nuestro generador de contraseñas, es decir, las etiquetas y los componentes estáticos. Coloque las cosas exactamente en las celdas que describo, para que las fórmulas funcionen. Una vez que lo tengas funcionando, puedes modificarlo para que sea totalmente tuyo.
En la celda B1, ingrese "Generador de contraseñas aleatorias", o el título que desee para su proyecto. Comenzando en la celda B3 y bajando, ingrese las etiquetas "Longitud", "Letras mayúsculas", "Letras minúsculas", "Dígitos" y "Caracteres especiales". Omita la celda B8, ingrese "Presione F9 para regenerar" en B9 y "CONTRASEÑA" en B10. Debería verse como la imagen de abajo.

En la celda C3, ingrese 16 o la longitud de su contraseña predeterminada preferida. Ingrese "Sí" en las próximas cuatro celdas debajo de él. Ahora ingrese todo el alfabeto en mayúsculas en la celda D4 y todo el alfabeto en minúsculas en D5. Ingrese los 10 dígitos en D6 y los caracteres especiales que desee usar en D7. Consejo profesional: coloque el 0 al final, no al principio, en la lista de dígitos, o Excel lo eliminará. El andamio completo debería verse así:


Agregue las fórmulas que generan contraseñas
Para comenzar, necesitamos construir una cadena de texto que incluya todos los caracteres que hemos elegido usar. La fórmula para hacerlo parece un poco complicada, pero en realidad es larga. Ingrese esta fórmula en la celda D8:
=SI(C4="Sí",D4,"") &SI(C5="Sí",D5,"") &SI(C6="Sí",D6,"") &SI(C7="Sí",D7, "")
El operador & une cadenas de texto. Lo que dice esta fórmula es que, para cada uno de los cuatro conjuntos de caracteres, si la celda adyacente contiene Sí, incluya el conjunto de caracteres. Pero si esa celda contiene algo que no sea Sí (independientemente de mayúsculas o minúsculas), no lo incluya. Pruebalo ahora; cambie algunas de las celdas Sí a No, No o Rana. La cadena de caracteres disponibles cambia para coincidir con lo que hizo.
Luego viene la fórmula para generar una contraseña aleatoria. En la celda C10, comience con esta versión preliminar:
=MEDIO(D8,ALEATORIO ENTRE(1,LARGO(D8)),1)
Lo romperé de adentro hacia afuera. La función LEN devuelve la longitud de cualquier valor que le pase, en este caso, la longitud de la cadena de caracteres disponibles. Llamar a RANDBETWEEN no sorprende que devuelva un número aleatorio entre los dos números que le das, en este caso uno y la longitud. Y la función MID devuelve una parte de la cadena de entrada que comienza con el primer número que le pasa y continúa con la cantidad de caracteres que especifique, en este caso solo uno. Entonces, esta fórmula devuelve un carácter aleatorio del conjunto de caracteres disponibles. Presionar F9 le dice a Excel que vuelva a calcular todas las funciones; Pruébelo varias veces y observe cómo cambia el personaje al azar.
Por supuesto, ese es solo un carácter, no una contraseña completa. El siguiente paso es un poco laborioso, pero en realidad no es difícil. Haga clic en la barra de funciones para editar esa última entrada, agregue un carácter & al final, resáltelo todo excepto el signo igual y presione Ctrl+C para copiarlo en el portapapeles. Digamos que queremos una longitud máxima de contraseña de 40 caracteres. Entonces, presione Ctrl+V 39 veces. Elimine el ampersand final, presione Entrar y listo.

Bueno, ya casi has terminado. Tal como está escrito, este generador de contraseñas siempre crea contraseñas de 40 caracteres. Necesitamos recortar su salida a la longitud especificada. Guarde su trabajo en este punto, porque estará editando esa fórmula de una milla de largo; ¡no querrías borrarlo por accidente!
Seleccione la fórmula que genera la contraseña y haga clic en la barra de fórmulas justo después del signo igual. Consejo profesional: al presionar Ctrl+Alt+U en este punto, se amplía la barra de fórmulas. Escriba LEFT seguido de un paréntesis de apertura. Desplácese hasta el final de la fórmula y escriba una coma, C3 y un paréntesis de cierre. ¡Bravo! La fórmula ahora recorta la contraseña a la longitud que eligió.
Ajuste fino del generador de contraseñas
El generador de contraseñas es totalmente funcional en este punto. Si estás contento con él tal como está, genial: ¡lo has hecho! Pero si está interesado, puede mejorar su apariencia y funcionalidad de varias maneras. Para empezar, haga clic con el botón derecho en la D en la parte superior de la columna D y seleccione Ocultar en el menú. Ahora no tiene que ver las listas de conjuntos de caracteres ni los cálculos intermedios.
Por lo general, desea establecer límites superior e inferior para la longitud en un generador de contraseñas. Además, si ingresa algo que no sea un número en el campo Longitud, la fórmula falla. Podemos arreglarlo. Haga clic en la celda C3, que define la longitud, haga clic en Datos en la cinta y seleccione Validación de datos. Si no ve la etiqueta de Validación de datos, estire más su hoja de cálculo.

En la ventana emergente resultante, haga clic en el menú desplegable debajo de Permitir y elija Número entero. Desmarque la casilla Ignorar en blanco y configure el Mínimo en 8 y el Máximo en 40. Cuando se vea como la captura de pantalla aquí, haga clic en la siguiente pestaña, Mensaje de entrada. Como mensaje de entrada, escriba "Ingrese una longitud de 8 a 40". Copie ese texto en el portapapeles y péguelo en el campo Mensaje de error de la pestaña Alerta de error, luego haga clic en Aceptar. Ahora, cuando hace clic en la celda Longitud, recibe un mensaje para ingresar la longitud correcta y, si comete un error, recibe un mensaje de error informativo.
Recomendado por Nuestros Editores

¿Listo para un ajuste final? Ingresa "Sí" en la celda E1 y "No" justo debajo. Haga clic en la celda C4, la celda justo a la derecha de la etiqueta Letras mayúsculas. Una vez más, haga clic en Datos en la cinta y seleccione Validación de datos. Elija Lista en el menú desplegable, desmarque Ignorar en blanco, haga clic en el cuadro Fuente y resalte las celdas E1 y E2. En la pestaña Mensaje de entrada, ingrese "Sí o No" como mensaje. En la página Alerta de error, ingrese "Sí o No" como mensaje de error. Haga clic en Aceptar para finalizar. Copie esta celda a las tres celdas debajo de ella.
¡Eso es! Ahora esas cuatro celdas solo aceptan Sí o No como valores. Mejor aún, cada uno ahora ha adquirido una lista desplegable que le permite elegir uno de esos valores. Oh, ahora que ha terminado, haga clic derecho en la gran E en la parte superior de la columna E y elija Ocultar, para que no vea las celdas que alimentan el sistema de validación de datos.
En este punto, es posible que desee ser creativo y agregar formato para que su generador de contraseñas se vea menos industrial. Elija las fuentes que le gusten, agregue color, ajuste las cosas hasta que se vea genial para usted.
Finalmente, bloqueémoslo, para que no destruyas accidentalmente una fórmula ingresando datos en la celda incorrecta. Resalte las celdas C3 a C7 (esa es la celda de longitud más las cuatro celdas sí/no), haga clic con el botón derecho y elija Formato de celdas. Haga clic en la pestaña Protección y desmarque la casilla de verificación llamada Bloqueado, luego haga clic en Aceptar. Haga clic en Revisar en la cinta y haga clic en Proteger hoja. Simplemente haga clic en Aceptar para aceptar la configuración en el cuadro de diálogo resultante; no está tratando de proteger la hoja con una contraseña, simplemente para protegerla contra los dedos torpes. ¡Guarda el glorioso resultado!

Hacer un generador de contraseñas en Google Sheets
Soy un genio de Excel y lo he sido desde antes de que existieran las Hojas de cálculo de Google. ¡Quizás incluso desde antes de que existiera Google! Pero sé que muchas personas confían en Google Sheets, así que lo encendí para asegurarme de que sea compatible con este proyecto.
Seguí mis propias instrucciones para crear el generador de contraseñas en Hojas de cálculo y descubrí que todo funcionaba a la perfección, hasta la fórmula que muestra un carácter aleatorio. Todo funcionó, pero al presionar F9 no se actualizó con un nuevo carácter aleatorio. Consultando a Google, descubrí que para forzar una actualización debe presionar F5, actualizando así toda la página, o cambiar el valor de cualquier celda. Es incómodo pero factible. Cambié el aviso para decir "Presione F5 para regenerar".
En lugar de recrear la gigantesca fórmula que genera la contraseña completa, la copié de mi hoja de cálculo de Excel. ¡Aleluya! ¡Funcionó! No entraré en detalles aquí, pero logré recrear las reglas de validación de datos y también oculté las columnas no deseadas. Si usa Hojas de cálculo en lugar de Excel, este proyecto aún puede funcionar para usted.

¡Lo hiciste!
Ya sea que haya aceptado la versión básica o haya aplicado los ajustes sofisticados, ahora tiene un generador de contraseñas que usted mismo escribió. Es cierto que Excel usa un generador de números pseudoaleatorios, pero puede agregar su propia aleatoriedad tocando F9 repetidamente antes de aceptar la contraseña generada. Y aunque un pirata informático podría trabajar para aplicar ingeniería inversa al generador de contraseñas en un producto de administración de contraseñas utilizado por millones, su utilidad única simplemente no está en el radar. ¡Lo hiciste!