Python使用MD5加密字符串示例
更新時間:2014年08月22日 10:22:10 投稿:junjie
這篇文章主要介紹了Python使用MD5加密字符串示例,對一些可能出現(xiàn)的錯誤點上本文也給出提醒,需要的朋友可以參考下
Python加密模塊有好幾個,但無論是哪種加密方式都需要先導(dǎo)入相應(yīng)的加密模塊然后再使用模塊對字符串加密。
先導(dǎo)入md5加密所需模塊:
復(fù)制代碼 代碼如下:
import hashlib
創(chuàng)建md5對象
復(fù)制代碼 代碼如下:
m = hashlib.md5()
生成加密串,其中 password 是要加密的字符串
復(fù)制代碼 代碼如下:
m.update('password')
獲取加密串
復(fù)制代碼 代碼如下:
psw = m.hexdigest()
輸出
復(fù)制代碼 代碼如下:
print psw
執(zhí)行:
復(fù)制代碼 代碼如下:
5f4dcc3b5aa765d61d8327deb882cf99
為了方便,我們可以寫成函數(shù),直接傳入要加密的字符串調(diào)用即可
復(fù)制代碼 代碼如下:
def md5(str):
import hashlib
m = hashlib.md5()
m.update(str)
return m.hexdigest()
調(diào)用:
復(fù)制代碼 代碼如下:
str = md5('password')
如果傳入的參數(shù)不是字符串會報錯
復(fù)制代碼 代碼如下:
str = md5(['a','b'])
報錯:
復(fù)制代碼 代碼如下:
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
我們可以對傳入的類型檢測,避免報錯
復(fù)制代碼 代碼如下:
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ù)為字符串即可正確返回加密串,其他類型均返回空!
PS:本站還提供了一款在線加密工具供大家參考使用:
相關(guān)文章
Python機(jī)器學(xué)習(xí)之Kmeans基礎(chǔ)算法
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)之Kmeans基礎(chǔ)算法,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04
使用Python的開發(fā)框架Brownie部署以太坊智能合約
在本文中,我們將使用Python部署智能合約。這篇文章可能是您走向智能合約和區(qū)塊鏈開發(fā)的橋梁!2021-05-05
Pygame游戲開發(fā)之太空射擊實戰(zhàn)碰撞改進(jìn)篇
相信大多數(shù)8090后都玩過太空射擊游戲,在過去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來自己動手實現(xiàn)它,在編寫學(xué)習(xí)中回顧過往展望未來,在本課中,我們將討論如何更改?Pygame?處理精靈之間沖突的方式2022-08-08
python爬蟲請求庫httpx和parsel解析庫的使用測評
這篇文章主要介紹了python爬蟲請求庫httpx和parsel解析庫的使用測評,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
2021-05-05
python從sqlite讀取并顯示數(shù)據(jù)的方法
這篇文章主要介紹了python從sqlite讀取并顯示數(shù)據(jù)的方法,涉及Python操作SQLite數(shù)據(jù)庫的讀取及顯示相關(guān)技巧,需要的朋友可以參考下
2015-05-05 
