1. 程式人生 > 程式設計 >Python hashlib模組加密過程解析

Python hashlib模組加密過程解析

這篇文章主要介紹了Python hashlib模組加密過程解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

hashlib模組  

用於加密相關的操作,3.x裡代替了md5模組和sha模組,主要提供 SHA1,SHA224,SHA256,SHA384,SHA512 ,MD5 演算法

import hashlib
 
m = hashlib.md5()
m.update(b"Hello")
m.update(b"It's me")
print(m.digest())
m.update(b"It's been a long time since last time we ...")
 
print(m.digest()) #2進位制格式hash
print(len(m.hexdigest())) #16進位制格式hash
'''
def digest(self,*args,**kwargs): # real signature unknown
  """ Return the digest value as a string of binary data. """
  pass
 
def hexdigest(self,**kwargs): # real signature unknown
  """ Return the digest value as a string of hexadecimal digits. """
  pass
 
'''
import hashlib
 
# ######## md5 ########
 
hash = hashlib.md5()
hash.update('admin')
print(hash.hexdigest())
 
# ######## 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 還有一個 hmac 模組,它內部對我們建立 key 和 內容 再進行處理然後再加密

雜湊訊息鑑別碼,簡稱HMAC,是一種基於訊息鑑別碼MAC(Message Authentication Code)的鑑別機制。使用HMAC時,訊息通訊的雙方,通過驗證訊息中加入的鑑別金鑰K來鑑別訊息的真偽;

一般用於網路通訊中訊息加密,前提是雙方先要約定好key,就像接頭暗號一樣,然後訊息傳送把用key把訊息加密,接收方用key + 訊息明文再加密,拿加密後的值 跟 傳送者的相對比是否相等,這樣就能驗證訊息的真實性,及傳送者的合法性了。

import hmac
h = hmac.new(b'天王蓋地虎',b'寶塔鎮河妖')
print h.hexdigest()

更多關於md5,sha1,sha256等介紹的文章看這裡https://www.tbs-certificates.co.uk/FAQ/en/sha256.html

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。