hashlib模塊,hmac模塊

6.11自我總結

1.hashlib模塊(文件傳輸中將傳輸內容用指定算法進行處理)

hash是一種算法(Python3.版本里使用hashlib模塊代替了md5模塊和sha模塊,主要提供 SHA一、SHA22四、SHA25六、SHA38四、SHA5十二、MD5 算法),該算法接受傳入的內容,通過運算獲得一串hash值。python

import hashlib
m = hashlib.md5()  #導入算法
m.update(b'2321')  #輸入數據的二進制模式
print(m.hexdigest()) #按照特定算法的進行計算


#hashlib的特性
m = hashlib.md5()  #導入算法
m.update(b'1')  #輸入數據的二進制模式
m.update(b'2323') #導入內容進行疊加
#上述兩部其實等效 m.update(b'12323')
print(m.hexdigest()) #按照特定算法的進行計算
#且不管加密的字符長度怎麼樣,結果長度都相同

2.hmac模塊(相比hashlib模塊能防止撞球破解)

#用法與hashlib相似
import hmac
m = hmac.new('ads'.encode('utf8'))  #這個能夠自定義,可是必須是二進制格式填入
m.update(b'sdasd')  #輸入的內容
print(m.hexdigest())

#他先比與hashlib,第一步算法能夠自定義添加內容.舉例1
import hmac
m = hmac.new('ads'.encode('utf8')) 
m.update(b'sdasd')  #輸入的內容
print(m.hexdigest())

m2 = hmac.new('adssss'.encode('utf8'))  
m2.update(b'sdasd')  #輸入的內容
print(m2.hexdigest())

m3 = hmac.new('a'.encode('utf8')) 
m3.update(b'ds')    #輸入的內容
m3.update(b'sdasd')  #輸入的內容
print(m3.hexdigest())

m4 = hmac.new('ads'.encode('utf8'))
m4.update(b'sd') #輸入的內容
m4.update(b'asd')  #輸入的內容
print(m4.hexdigest())
#m == m4 !=m2 !=m3
相關文章
相關標籤/搜索