Es importante mantener contraseñas largas y no fácilmente adivinables. Puede que sepas cómo crear una contraseña segura, pero ¿no sería genial tener un pequeño script que lo haga por ti? Tienes suerte, si estás en Windows, puedes construir un generador de contraseñas aleatorias con PowerShell que generará diversas longitudes y complejidades.
En lugar de construir tu propio generador de contraseñas aleatorias, simplemente utiliza un método existente que Microsoft ya proporciona llamado el método GeneratePassword()
de .NET. Este método viene con la clase System.Web.Security.Membership
y hará todo lo que necesitas.
Construyendo el Script
Para construir este script simple, primero necesitarás hacer disponible la biblioteca System.Web
. La clase System.Web.Security.Membership
es parte de esta biblioteca y no está disponible por defecto.
Una vez que la biblioteca System.Web
está disponible, ahora puedes invocar el método GeneratePassword()
.
El método GeneratePassword()
tiene dos argumentos: length
y numberOfNonAlphanumericCharacters
. Usando estos dos argumentos, puedes crear todo tipo de contraseñas aleatorias con PowerShell.
- Longitud: esta es la longitud de caracteres que tendrá la contraseña.
- Número de caracteres no alfanuméricos: este es el número de caracteres no alfanuméricos que el método generará. Piensa en caracteres como @, %, &, etc.
Primero, define la longitud de la contraseña que te gustaría tener. El siguiente ejemplo establece una variable de 10 que pasarás al método.
A continuación, define la cantidad de caracteres no alfanuméricos que te gustaría incluir en la contraseña. El siguiente fragmento de código establece una variable 5 que proporcionarás al método para asegurarte de que haya cinco caracteres no alfabéticos en la contraseña.
Luego es cuando llamarás al método GeneratePassword()
pasando los valores de ambas variables definidas anteriormente.
Cuando ejecutes el fragmento de código anterior, PowerShell devolverá una variedad aleatoria de caracteres en una cadena que luego podrás utilizar donde desees.
Construyendo una Longitud de Contraseña Aleatoria
Incluso puedes hacer que la longitud de las contraseñas sea un poco más aleatoria. ¡Usa el cmdlet Get-Random
para obtener un número entero aleatorio que luego puedes utilizar como argumento de length
para generar una contraseña de longitud aleatoria también!
Si vas a usar esta contraseña en PowerShell, muchos componentes requieren una cadena segura. Una vez que tengas la contraseña como una cadena de texto sin formato, puedes convertirla en una cadena segura usando el cmdlet ConvertTo-SecureString
.
Construyendo una Función de PowerShell
Finalmente, lleva este generador de contraseñas aleatorias al siguiente nivel creando una función que puedas utilizar donde quieras sin tener que recordar todas las sintaxis explicadas anteriormente.
Una vez que hayas agregado esta función a tu perfil, un módulo de PowerShell tal vez o simplemente copiándolo/pegándolo en tu sesión actual, puedes ejecutarlo fácilmente.
Source:
https://adamtheautomator.com/random-password-generator/