md5模塊(Python內置模塊)和hashlib模塊

MD5模塊用於產生消息摘要,康用來判斷文件是否相同。python

python的md5模塊使用很是簡單,包括如下幾個函數:算法

  • md5.new([arg])
    • 返回一個md5對象,若是給出參數,則至關於調用了update(arg)
  • md5.updte(arg)
    • 用string參數arg更新md5對象。即將要計算arg的消息摘要值。
  • md5.digest()
    • 返回16字節的摘要,由傳給update的string生成,摘要沒有ascii字符
  • md5.hexdigest()
    • 以16進制的形式返回摘要,32位

注意:若是m.update(a)以後在 m.update(b),那麼就至關於m.update(a+b)app

步驟:函數

0一、導入md5模塊加密

import md5

0二、獲得一個新的md5對象spa

m = md5.new()

0三、用一個字符串更新md5對象.net

s = "hahaha"
m.update(s)

0四、獲得該字符串(這裏是s)的摘要3d

print m.degest()

0五、或者獲得16進制的摘要(這個就是咱們想要的)對象

print m.hexdigest()

這會獲得一個字符串,長度爲32位blog

 


要計算MD5值,不只能夠使用md5模塊,還能夠使用hashlib模塊。hashlib是個專門提供hash算法的庫,如今裏面包括md5, sha1, sha224, sha256, sha384, sha512,使用很是簡單、方便。md5常常用來作用戶密碼的存儲。而sha1則常常用做數字簽名。

下面主要記錄下其中的md5加密方式

[python]  view plain copy print ?
  1. >>> import hashlib  
  2.   
  3. >>> m = hashlib.md5()  
  4.   
  5. >>> m.update("Nobody inspects")  
  6.   
  7. >>> m.update(" the spammish repetition")  
  8.   
  9. >>> m.digest()  
  10.   
  11. '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'  
  12.   
  13. >>> m.hexdigest()  
  14.   
  15. 'bb649c83dd1ea5c9d9dec9a18df0ffe9'  

 

對以上代碼的說明:

1.首先從python直接導入hashlib模塊

2.調用hashlib裏的md5()生成一個md5 hash對象

3.生成hash對象後,就能夠用update方法對字符串進行md5加密的更新處理

4.繼續調用update方法會在前面加密的基礎上更新加密

5.加密後的二進制結果

6.十六進制結果

相關文章
相關標籤/搜索