Python加密模塊有好幾個(gè),但無(wú)論是哪種加密方式都需要先導(dǎo)入相應(yīng)的加密模塊然后再使用模塊對(duì)字符串加密。
先導(dǎo)入md5加密所需模塊:
import hashlib
創(chuàng)建md5對(duì)象
m = hashlib.md5()
生成加密串,其中 password 是要加密的字符串
m.update('password')
獲取加密串
psw = m.hexdigest()
輸出
print psw
執(zhí)行:
5f4dcc3b5aa765d61d8327deb882cf99
為了方便,我們可以寫(xiě)成函數(shù),直接傳入要加密的字符串調(diào)用即可
def md5(str):
??? import hashlib
??? m = hashlib.md5()??
??? m.update(str)
??? return m.hexdigest()
調(diào)用:
str = md5('password')
如果傳入的參數(shù)不是字符串會(huì)報(bào)錯(cuò)
str = md5(['a','b'])
報(bào)錯(cuò):
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
我們可以對(duì)傳入的類(lèi)型檢測(cè),避免報(bào)錯(cuò)
def md5(str):
??? import hashlib
??? import types
??? if type(str) is types.StringType:
??????? m = hashlib.md5()??
??????? m.update(str)
??????? return m.hexdigest()
??? else:
??????? return ''
當(dāng)我們傳入的參數(shù)為字符串即可正確返回加密串,其他類(lèi)型均返回空!
PS:本站還提供了一款在線(xiàn)加密工具供大家參考使用:
MD5在線(xiàn)加密工具: http://tools.jb51.net/password/CreateMD5Password
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
