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 <module> 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 ''
當我們傳入的參數為字符串即可正確返回加密串,其他類型均返回空!