Added shadow_ssha512, shadow_ssha256, shadow_md5 hash generate

master3.3
Самоукин Алексей 14 years ago
parent 3d8ee6e9c7
commit 154dcdf079

@ -39,11 +39,11 @@ class encrypt(color_print):
Методы шифрования, создания сертификатов и.т. д
"""
def __GenCryptSalt__(self):
def __GenCryptSalt__(self, len=2):
"""Генерация соли для хеширования пароля (CRYPT)"""
chars = string.letters + string.digits + "./"
salt = ""
for i in range(2):
for i in range(len):
salt = salt + choice(chars)
return salt
@ -51,7 +51,8 @@ class encrypt(color_print):
"""Генерация хеша пароля,
Поддерживаемые алгоритмы шифрования пароля:
plain, md5, smd5, crypt, sha, ssha, lm, nt
plain, md5, smd5, crypt, sha, ssha, lm, nt, shadow_ssha512,
shadow_ssha256, shadow_md5
"""
if not password:
self.printERROR(_("ERROR") + " getHashPasswd: " +\
@ -72,6 +73,18 @@ class encrypt(color_print):
h.update(salt)
hashPwd = "{SMD5}" + b64encode(h.digest() + salt)
elif SecHashAlg == "shadow_ssha512":
salt = self.__GenCryptSalt__(8)
hashPwd = crypt.crypt(password, "$6$%s$"%salt)
elif SecHashAlg == "shadow_ssha256":
salt = self.__GenCryptSalt__(8)
hashPwd = crypt.crypt(password, "$5$%s$"%salt)
elif SecHashAlg == "shadow_md5":
salt = self.__GenCryptSalt__(8)
hashPwd = crypt.crypt(password, "$1$%s$"%salt)
elif SecHashAlg == "crypt":
salt = self.__GenCryptSalt__()
hashPwd = "{CRYPT}" + crypt.crypt(password, salt)
@ -98,7 +111,8 @@ class encrypt(color_print):
%SecHashAlg)
return False
return hashPwd
def createCertificate(self, sslCountry="US",
sslState="California",
sslLocality="Santa Barbara",

Loading…
Cancel
Save