#!/usr/bin/python from getpass import getpass class djangoPassGen (object): """ Generuje nowe hashe haseł dla użytkowników w django """ def __init__(self, passwd = ""): self.__salt = self.__randomGen() self.__passwd = passwd def __randomGen(self, strlen=5): alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXXYZ0123456789" l = len(alphabet) - 1 ret = "" import random for i in range(strlen): ret += alphabet[random.randint(0,l)] return ret def __generatePassword(self, strlen=12): self.__passwd = self.__randomGen(strlen) def setPassword(self, passwd): self.__passwd = passwd def getDigest(self): if(len(self.__passwd)==0): self.__generatePassword(12) return "sha1$"+self.__salt+"$"+ __import__('sha').new(self.__salt + self.__passwd).hexdigest() def getPassword(self): return self.__passwd def __str__(self): return self.getDigest() def main(passwd): djp = djangoPassGen() djp.setPassword(passwd) print "Generated digest:", str(djp) print "Used Password:", djp.getPassword() if __name__ == '__main__': from sys import argv if(len(argv)>1): main(argv[1]) else: main(getpass())