Generando Contraseñas con Python
Submitted by flaper87 on Mon, 07/02/2007 - 20:15.
EL otro día, me encontraba realmente fastidiado, y con la necesidad de crearme una contraseña nueva para mi usuario, así que como tenia la imaginación realmente apagada, me dedique a hacer un generador de contraseñas con este maravilloso lenguaje.
Primero que nada hay que entender algo, las contraseñas para que sean buenas y difíciles de descifrar, deben contener números, letras (mayúsculas y minúsculas) y signos de puntuación (también conocidos como signos especiales) mezclados dentro de ella. También se recomienda que sean bastante largas y que no tengan relación con nuestro entorno.
OJO: No voy a explicar todo lo que hace el script PyGenPass, solamente explicare como toma aleatoriamente la cantidad de digitos que queramos. El codigo puede descargarse desde AQUI
AL GRANO!!!
Primero importamos las 2 librerías que necesitamos:
>>>import string
>>>from random import choiceLuego lo que hice fue lo siguiente, sin necesidad de librerías extras que instalar, tome la lista de letras, números y signos especiales ofrecida por la librería string de python y las almacene en tres variables distintas para poder escoger desde ellas aleatoriamente lo que necesitara, de la siguiente manera:
>>>letras = string.letters
>>>numeros = string.digits
>>>signos = string.punctuationDespués de tener esas variables definidas podemos generar la contraseña iterando a través de las variables mientras seleccionamos un valor de los que contenga, así:
>>> print ''.join(choice([choice(letras),choice(numeros),
... choice(especiales)]) for x in range(10))
Donde esta N colocamos la longitud que queremos que tenga nuestra contraseña, si la queremos de 4 caracteres le colocamos 4.
Esta es una forma comprimida y corta para generar una contraseña con python, pero si quieren ser mas estrictos e indicarle el numero de letras, dígitos o signos especiales que quieren que tenga, les recomiendo que le den un ojo al código.
El código lo pueden descargar desde aqui, pueden leerlo, usarlo, modificarlo y distribuirlo a su gusto, es un poco mas largo debido a las opciones que quise agregarle y a que no quise hacer el código tan comprimido como en el ejemplo mostrado. A su vez si desean, pueden instalarlo de la siguiente forma (solo los que usen GNU/Linux ya que lo instala en /usr/bin), primero descompriman el .zip y luego desde la carpeta en donde se encuentre el código hagan como superusuarios:
# python PyGenPass.py -i
ó
# python PyGenPass.py --installLuego de instalado, pueden darle uso simplemente escribiendo en la terminal pygenpass (esto si lo pueden hacer como usuario normales) y para poder usar las opciones vean la ayuda pygenpass -h.
Espero que les halla servido, cualquier cosa no duden en comentar.
Saludos

Post new comment