Used for encryption-related operations, 3.x replaced the md5 module and sha module, mainly providing SHA1, SHA224, SHA256, SHA384, SHA512, MD5 algorithms
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())
#Binary format hash
print
(
len
(m.hexdigest()))
#Hexadecimal format 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 also has a hmac module, which internally processes the key and content we create and then encrypts them.
Hash message authentication code, referred to as HMAC, is a message authentication code based on MAC (Message Authentication Code) authentication mechanism. When using HMAC, both parties in the message communication authenticate the message by verifying the authentication key K added to the message;
is generally used for message encryption in network communications, provided that both parties must first agree on the key. Just like the joint code, the message sender then uses the key to encrypt the message, and the receiver uses key + message plaintext to encrypt it again. The encrypted value is compared with the sender's value to see if it is equal, so that the authenticity of the message can be verified, and The sender's legitimacy.
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
The above is the detailed content of Introduction to encryption of hashlib module. For more information, please follow other related articles on the PHP Chinese website!