1. 程式人生 > >Python中的MD5

Python中的MD5

md5模組

  • md5.new([arg]):返回一個md5物件,如果給出引數,則相當於呼叫了update(arg)
  • md5.update(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)

(1)MD5肯定是不可逆的,網上的所謂MD5解密,其實就是查表,比如把12345,qwert等字串MD5後建立一個對應關係備查。下次看到一個加密的MD5串,就去表裡查明文。
(2)自己指定金鑰也很簡單。比如我要提交一個數字12345給你,你收到之後如何確認是我給你的而不是別人給你的呢?我們倆可以約定一個金鑰,只有我們知道,比如a$sd12_(一般比較複雜),然後我提交給你的是“明文12345”和“12345+金鑰之後的MD5結果”,你收到之後用12345和金鑰做MD5,跟我提交給你的MD5做比對,一樣的話就可以證明是我提交給你的資料了。