由上可知hmac需要提供三個(gè)參數(shù)旧乞,一個(gè)密鑰key, 一個(gè)消息字符串蔚润,一個(gè)哈希函數(shù)磅氨。
js源碼qcc為
new d.HMAC.init(t,i).finalize(e)
下斷點(diǎn)
跟進(jìn)init(),判斷i為密鑰key,那消息字符串為e,
跟進(jìn)finalize(),可以看到使用了sha512進(jìn)行運(yùn)算尺栖。
使用python實(shí)現(xiàn)
import hmac
hmac.new(bytes(key, encoding='utf-8'), bytes(msg, encoding='utf-8'), hashlib.sha512).hexdigest()