python 实现HMAC_SHA1算法
生活随笔
收集整理的這篇文章主要介紹了
python 实现HMAC_SHA1算法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Hmac算法:Keyed-Hashing for Message Authentication。它通過一個(gè)標(biāo)準(zhǔn)算法,在計(jì)算哈希的過程中,把key混入計(jì)算過程中。
和我們自定義的加salt算法不同,Hmac算法針對(duì)所有哈希算法都通用,無論是MD5還是SHA-1。采用Hmac替代我們自己的salt算法,可以使程序算法更標(biāo)準(zhǔn)化,也更安全。
Python自帶的hmac模塊實(shí)現(xiàn)了標(biāo)準(zhǔn)的Hmac算法。我們來看看如何使用hmac實(shí)現(xiàn)帶key的哈希。
我們首先需要準(zhǔn)備待計(jì)算的原始消息message,固定key,哈希算法,這里采用SHA-1,返回的數(shù)據(jù)是二進(jìn)制,然后再base64編碼一下,使用hmac的代碼如下:
# -*- coding:UTF-8 -*- import base64 import hashlib import hmacdef get_hamc_sha1(message, key):message = message.encode() # 加密內(nèi)容key = key.encode() # 加密的keyresult = hmac.new(key, message, hashlib.sha1).digest() # 返回結(jié)果:b'\xd5*\x01\xb0\xa4,y\x96\x9d`\xd7\xfcB\xe1\x95OZIe\xe7'_sig = base64.b64encode(result).decode()return _sigif __name__ == '__main__':mess = "Hello, world!"key = "secret"result_sig = get_hamc_sha1(mess, key)print("result_sig:", result_sig)結(jié)果如下:
result_sig: 1SoBsKQseZadYNf8QuGVT1pJZec=總結(jié)
以上是生活随笔為你收集整理的python 实现HMAC_SHA1算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现 HmacSHA256加
- 下一篇: python爬虫 爬取有道翻译详解