/sys/admin

Blog de/para sysadmins, devops y fans de GNU/Linux

Feb 23 15 16:01
Passwords Con Caracteres Aleatorios

Comments

En muchas ocasiones, cuando tenemos que crear un servicio que pide usuario/password, tendemos al uso de passwords simples o poco elaboradas. Tanto si es para un uso personal como si es para compartir información entre usuarios (este, quizás, más importante aún securizar), las password simples o basadas en diccionarios no son del todo una buena idea.

Este pequeño script de python genera una clave de N caracteres aleatorios (pasados por argumento, o 10 en su defecto), que puede añadir símbolos indicando el argumento "@".

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import string,random,sys

dictionary = string.ascii_letters + string.digits
dictionary_extra = '@.-!~'
N = 10

if(len(sys.argv)>1):
	if(sys.argv[1][0]=='@'):
		dictionary += dictionary_extra
		if(len(sys.argv[1])>1):
			N=int(sys.argv[1][1:])
		else:
			N = int(sys.argv[1])
print ''.join(random.SystemRandom().choice(dictionary) for _ in range(N))

Ejemplos de uso:

$ python randompasswd @20
Dk5nl8w~.WxrkEj94!V~

$ python randompasswd @
0KAiU0z@rC

$ python randompasswd
eqUL9Kaw22G1QFc

Comments