Es scheint, dass es eine Bibliothek gibt, die leicht in der Standard-Python-Bibliothek hashen kann, also habe ich versucht, sie zu verwenden
test1.py
# -*- coding: utf-8 -*-
import hashlib
if __name__ == "__main__":
#Erstellen eines Hash-Objekts
md5 = hashlib.md5()
#Satz von Zeichenfolgen
md5.update("password")
print md5.digest()
print md5.hexdigest()
test1.Ausgabeergebnis von py
_M.;Ze ヨ ・ Gukpa
5f4dcc3b5aa765d61d8327deb882cf99
Importieren Sie, indem Sie "import hash lib" schreiben.
.hexdigest
(Ich bin mir nicht sicher über .digest
)Es scheint, dass die ursprüngliche Zeichenfolge nach dem Hashing nicht mehr bekannt sein kann. Das Passwort ist also niemandem bekannt! !!
Sie können das eingegebene Passwort auch hashen und vergleichen.
hash_test.py
# -*- coding: utf-8 -*-
import hashlib
import sys
def createHash(password):
#Erstellen eines Hash-Objekts
hashObj = hashlib.md5()
#Geben Sie die zu hashende Zeichenfolge an
hashObj.update(password)
#Gibt die Hash-Version zurück
return hashObj.hexdigest()
if __name__ == "__main__":
#Hash das ursprüngliche Passwort
checkPass = createHash("password")
#Befehlszeilenargumente abrufen
password = sys.argv[1]
#Hashing
password = createHash(password)
#Stimmt das eingegebene Passwort überein?
if checkPass == password:
print u"erfolgreicher Login"
else:
print u"Anmeldungsfehler"
hash_test.Ausführungsergebnis von py
\python>hash_test.py pass
Anmeldungsfehler
\python>hash_test.py password
erfolgreicher Login
\python>hash_test.py Password
Anmeldungsfehler
Es scheint, dass es auch zwischen Groß- und Kleinschreibung unterscheidet (natürlich ...)
Dokumentation [Über Hashing](http://e-words.jp/w/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E9%96%A2% E6% 95% B0.html, "Was ist eine Hash-Funktion? | Message Digest-Funktion | Hash-Algorithmus - Bedeutung / Definition: IT-Glossar")
Recommended Posts