Il semble qu'il existe une bibliothèque qui peut facilement hacher dans la bibliothèque Python standard, alors j'ai essayé de l'utiliser
test1.py
# -*- coding: utf-8 -*-
import hashlib
if __name__ == "__main__":
	#Créer un objet de hachage
	md5 = hashlib.md5()
	#Jeu de cordes
	md5.update("password")
	print md5.digest()
	print md5.hexdigest()
test1.Résultat de sortie de py
_M;Ze ヨ ・ Gukpa
5f4dcc3b5aa765d61d8327deb882cf99
ʻImporter l'importation en écrivant hashlib`.
.hexdigest (je ne suis pas sûr de .digest)Il semble que la chaîne de caractères d'origine ne puisse pas être connue une fois qu'elle est hachée. Le mot de passe n'est donc jamais connu de personne! !!
Vous pouvez également hacher le mot de passe saisi et le comparer.
hash_test.py
# -*- coding: utf-8 -*-
import hashlib
import sys
def createHash(password):
	#Créer un objet de hachage
	hashObj = hashlib.md5()
	#Spécifiez la chaîne de caractères à hacher
	hashObj.update(password)
	#Renvoie la version hachée
	return hashObj.hexdigest()
if __name__ == "__main__":
	#Hash le mot de passe d'origine
	checkPass = createHash("password")
	#Obtenir des arguments de ligne de commande
	password = sys.argv[1]
	#Hashing
	password = createHash(password)
	#Le mot de passe saisi correspond-il?
	if checkPass == password:
		print u"Connexion réussie"
	else:
		print u"Erreur d'authentification"
hash_test.Résultat d'exécution de py
\python>hash_test.py pass
Erreur d'authentification
\python>hash_test.py password
Connexion réussie
\python>hash_test.py Password
Erreur d'authentification
Il semble qu'il soit également sensible à la casse (naturellement ...)
Documentation [À propos du hachage](http://e-words.jp/w/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E9%96%A2% E6% 95% B0.html, "Qu'est-ce qu'une fonction de hachage? | Fonction de résumé de message | Algorithme de hachage - Signification / définition: glossaire informatique")
Recommended Posts