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()) #按照特定算法的進行計算 #且不管加密的字符長度怎麼樣,結果長度都相同
#用法與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