#! /usr/bin/env python import sys, string from random import randint from crypt import crypt def help(): print "Usage: %s < username clear_passwd >" % sys.argv[0] sys.exit() if len(sys.argv) not in (1,2,3) or 'help' in sys.argv: help() if len(sys.argv) == 2: passwd = '' username = sys.argv[1]+':' elif len(sys.argv) == 1: username = '' passwd = '' elif len(sys.argv) == 3: username = sys.argv[1]+':' passwd = sys.argv[2] seedroot = string.letters[string.find(string.letters,'a'): \ string.find(string.letters,'z')] seedroot = seedroot + string.letters[string.find(string.letters,'A'): \ string.find(string.letters,'Z')] seedroot = seedroot + string.digits l = len(seedroot) - 1 spike = seedroot[randint(0,l)] + seedroot[randint(0,l)] if passwd == '': for i in range(7): passwd = passwd + seedroot[randint(0,l)] pos = randint(0,6) signs = "!@#$%&*()_-+',.;" l = len(signs) passwd = passwd[:pos]+signs[randint(0,l)]+passwd[pos:] passwdc = crypt(passwd,spike) print username+passwdc+ ": password is " + passwd