Maison >développement back-end >Tutoriel Python >Introduction au chiffrement du module hashlib

Introduction au chiffrement du module hashlib

PHP中文网
PHP中文网original
2017-06-21 10:17:481574parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn