[英]HMAC-SHA1 in bash
在bash
本身中,不,它可以做很多事情,但它也知道何時依賴外部工具。
例如, Wikipedia頁面提供了一個Python實現, bash
可以調用該實現來對HMAC_MD5進行繁瑣的工作,下面重復進行此操作,使該答案成為獨立的:
#!/usr/bin/env python
from hashlib import md5
trans_5C = "".join(chr(x ^ 0x5c) for x in xrange(256))
trans_36 = "".join(chr(x ^ 0x36) for x in xrange(256))
blocksize = md5().block_size
def hmac_md5(key, msg):
if len(key) > blocksize:
key = md5(key).digest()
key += chr(0) * (blocksize - len(key))
o_key_pad = key.translate(trans_5C)
i_key_pad = key.translate(trans_36)
return md5(o_key_pad + md5(i_key_pad + msg).digest())
if __name__ == "__main__":
h = hmac_md5("key", "The quick brown fox jumps over the lazy dog")
print h.hexdigest() # 80070713463e7749b90c2dc24911e275
(請記住,Python也包含SHA1內容,有關如何將HMAC與hashlib.sha1()
構造函數一起使用的詳細信息,請參見此處 )。
或者,如果您想運行與PHP完全相同的代碼,則可以嘗試使用phpsh
運行它, phpsh
處所述 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.