Utilisé pour les opérations liées au chiffrement, 3.x a remplacé le module md5 et le module sha, fournissant principalement les algorithmes SHA1, SHA224, SHA256, SHA384, SHA512, MD5
import hashlib m = hashlib.md5() m.update(b"hello") print(m.hexdigest()) m.update(b"It's me") print(m.hexdigest()) m.update(b"It's been a long time since we spoken.") print(m.hexdigest()) m2 = hashlib.md5() m2.update(b"helloIt's me") print(m2.hexdigest()) # 输出 5d41402abc4b2a76b9719d911017c592 64f69d95135bc13d4827f871b37f780f 0c9a83e10aa2f9e9629be61146db9cc2 64f69d95135bc13d4827f871b37f780f #第二个和第四个 md5值是相同的,所以第二个加密的是 helloIt'sme
print
(m.digest())
#2进制格式hash
print
(
len
(m.hexdigest()))
#16进制格式hash
# ######## sha1 ######## hash = hashlib.sha1() hash.update('admin') print(hash.hexdigest()) # ######## sha256 ######## hash = hashlib.sha256() hash.update('admin') print(hash.hexdigest()) # ######## sha384 ######## hash = hashlib.sha384() hash.update('admin') print(hash.hexdigest()) # ######## sha512 ######## hash = hashlib.sha512() hash.update('admin') print(hash.hexdigest())
Python dispose également d'un module hmac, qui traite en interne la clé et le contenu que nous créons, puis les crypte
Le code d'authentification de message de hachage, appelé HMAC, est un code d'authentification de message basé sur MAC (Message Code d'authentification) mécanisme d'authentification. Lors de l'utilisation de HMAC, les deux parties à la communication du message authentifient le message en vérifiant la clé d'authentification K ajoutée au message
est généralement utilisée pour le cryptage des messages dans les communications réseau, à condition que les deux parties se soient d'abord mises d'accord sur la clé ; Tout comme le code secret du connecteur, l'expéditeur du message utilise ensuite la clé pour chiffrer le message, et le destinataire utilise la clé + le texte en clair du message pour le chiffrer à nouveau, et compare la valeur chiffrée avec la valeur de l'expéditeur pour voir si elle est égale, de sorte que l'authenticité du message peut être vérifiée, et la légitimité de l'expéditeur.
import hmac h = hmac.new("天王盖地虎".encode(encoding="utf-8"), "你是小松鼠".encode(encoding="utf-8")) print(h.digest()) print(h.hexdigest()) #输出 b'fx\xad\xdd\x9e\xd6\xddcQN\x82c\xcd\xd9\x80-' 6678addd9ed6dd63514e8263cdd9802d
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!