Python加密模組有好幾個,但無論是哪種加密方式都需要先匯入相應的加密模組然後再使用模組對字串加密。
先匯入md5加密所需模組:
複製代碼 代碼如下:
import hashlib
建立md5對象
複製代碼 代碼如下:
m = hashlib.md5()
產生加密串,其中 password 是要加密的字串
複製代碼 代碼如下:
m.update('password')
擷取加密串
複製代碼 代碼如下:
psw = m.hexdigest()
輸出
複製代碼 代碼如下:
print psw
執行:
複製代碼 代碼如下:
5f4dcc3b5aa765d61d8327deb882cf99
為了方便,我們可以寫成函數,直接傳入要加密的字串調用即可
複製代碼 代碼如下:
def md5(str):
import hashlib
m = hashlib.md5()
m.update(str)
return m.hexdigest()
調用:
複製代碼 代碼如下:
str = md5('password')
如果傳入的參數不是字串會報錯
複製代碼 代碼如下:
str = md5(['a','b'])
報錯:
複製代碼 代碼如下:
Traceback (most recent call last):
File "D:\python\demo1\c.py", line 9, in
str = md5(['a','b'])
File "D:\python\demo1\c.py", line 5, in md5
m.update(str)
TypeError: must be string or buffer, not list
我們可以對傳入的類型檢測,避免報錯
複製代碼 代碼如下:
def md5(str):
import hashlib
import types
if type(str) is types.StringType:
m = hashlib.md5()
m.update(str)
return m.hexdigest()
else:
return ''
當我們傳入的參數為字串即可正確返回加密串,其他類型均返回空!