正如這個答案中所描述的,我已經實現了 HMAC-SHA1 簽名方法。def sign_request(): from hashlib import sha1 import hmac key = b"CONSUMER_SECRET&" basestr = b"BASE_STRING" hashed = hmac.new(key, basestr, sha1) return hashed.digest().encode("base64").rstrip('\n')但我有AttributeError,'bytes' object has no attribute 'encode'。據我了解,這就是我使用 Python3 的原因,但我不知道如何修復它。
1 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
那是因為它是一個字節,而您正在嘗試像字符串一樣進行編碼。我修好了它:
from base64 import encodebytes
def sign_request():
from hashlib import sha1
import hmac
key = b"CONSUMER_SECRET&"
basestr = b"BASE_STRING"
hashed = hmac.new(key, basestr, sha1)
return str(encodebytes(hashed.digest())).rstrip('\n')
print(sign_request())
添加回答
舉報
0/150
提交
取消