Home >Backend Development >Python Tutorial >Introduction to encryption of hashlib module

Introduction to encryption of hashlib module

PHP中文网
PHP中文网Original
2017-06-21 10:17:481571browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn