因爲不同語言,對應加密的規則有些許不同。然後這個問題在度娘上也搜不到一個正確的答案,特此記錄一下。
1.首先雙方基本算法需要一致,這裏都以sha1爲基本規則
2.python部分,如果是使用digest()輸出,php部分則一定要使用原始二進制數據輸出。
python: hmac.new('test', 'test', hashlib.sha1).digest()
php: hash_hmac('sha1','test','test',true);
3.python部分如果是使用hexdigest()輸出,則php部分去掉最後一個raw數據參數即可匹配。
python: hmac.new('test', 'test', hashlib.sha1).hexdigest()
php: hash_hmac('sha1','test','test');