Python-加密操作

加密是程序開發中常常要做的一件事,比如用戶登錄的密碼。那麼在Python中如何實現加密操作呢,又有哪些加密算法呢?

在Python提供了hashlib模塊用來做一些常見的加密操作,如md5,sha1,sha224,sha256,sha384,sha512。接下看看hashlib是如何使用的:

hashlib

md5

<code>import hashlib
m = hashlib.md5()
m.update(b"it is sb") # b代表byte類型
# 如果字符串中帶有中文,需改成這樣
# m.update("隔壁老王".encode(encoding="utf-8"))
s = m.hexdigest() # 加密後的字符串/<code>

sha1

<code>import hashlib
m = hashlib.sha1()
m.update(b"it is sb")
s = m.hexdigest() # 加密後的字符串/<code>

sha224

<code>import hashlib
m = hashlib.sha224()
m.update(b"it is sb")
s = m.hexdigest() # 加密後的字符串/<code>

sha256

<code>import hashlib
m = hashlib.sha256()
m.update(b"it is sb")
s = m.hexdigest() # 加密後的字符串/<code>

sha384

<code>import hashlib
m = hashlib.sha384()
m.update(b"it is sb")
s = m.hexdigest() # 加密後的字符串/<code>

sha512

<code>import hashlib
m = hashlib.sha512()
m.update(b"it is sb")
s = m.hexdigest() # 加密後的字符串/<code>

hmac

散列消息鑑別碼,簡稱HMAC,是一種消息鑑別碼MAC的一種鑑別機制。使用HMAC時,消息通訊的雙方,通過驗證消息中加入的鑑別密鑰K來鑑別消息的真偽,一般用於網絡通信中消息加密。hmac相對於上面的幾種加密算法,更為安全。

<code>import hmac
h = hmac.new(b"123456",b"it is sb") # "123456"為key,裡面的字符必須是ascii碼裡的字符,"it is sb"為value,如果帶有中文,需跟上面一樣
s = h.hexdigest() # 加密後的字符串/<code>


分享到:


相關文章: