ich hatte folgende Idee: Ich wollte mein Passwort wie in eine Zwiebelschale verpacken. In vielen Foren
wird nach wie vor das MD5-Verfahren als Standard verwendet. In Python gibt es diese schöne Bibliothek haslib.
Und diese Bibliothek unterstützt von MD5 bis SHA512. Nun habe ich mir für jedes Verfahren sozusagen
eine Funktion erstellt. Meine Grundidee war: Ein Hash-Wert kann ja nicht entschlüsselt werden, sondern
der Wert wird durch ein Vergleich-Verfahren "enttarnt". Und wenn ich aus dem Passwort zunächst einmal einen MD5-Wert
erzeugt habe, und aus diesem Wert dann einen SHA1-Wert zeugen lasse und so weiter - bis SHA512. Bei diesem
Vorgang ging ich davon aus, dass das Passwort mehr als sicher ist.
Und eine weitere Frage: Wäre bei meinem Vorgang noch etwas zu optimieren?
Code: Alles auswählen
import hashlib
def get_sha512(prompt):
sha_512_object = hashlib.sha512(prompt.encode()).hexdigest()
print "SHA512" , sha_512_object
return sha_512_object
def get_sha384(prompt):
sha_384_object = hashlib.sha384(prompt.encode()).hexdigest()
sha_512_value = get_sha512(sha_384_object)
print "SHA384" , sha_384_object
return sha_512_value
def get_sha256(prompt):
sha_256_object = hashlib.sha256(prompt.encode()).hexdigest()
sha_384_value = get_sha384(sha_256_object)
print "SHA256" , sha_256_object
return sha_384_value
def get_sha224(prompt):
sha_224_object = hashlib.sha224(prompt.encode()).hexdigest()
sha_256_value = get_sha256(prompt)
print "SHA224" , sha_224_object
return sha_256_value
def get_sha1(prompt):
sha_1_object = hashlib.sha1(prompt.encode()).hexdigest()
sha_224_value = get_sha224(sha_1_object)
print "SHA1" , sha_1_object
return sha_224_value
def get_md5(prompt):
md5_object = hashlib.md5(prompt.encode()).hexdigest()
sha_1_value = get_sha1(md5_object)
print "MD5" , md5_object
return sha_1_value
def get_digest(prompt):
get_coded_pwd = get_md5(prompt)
return get_coded_pwd
your_pwd = raw_input('Please enter a password: ')
get_digest = get_digest(your_pwd)
print ""
print "Your coded password ", get_digest