API sản phẩm của Amazon hiện yêu cầu chữ ký với mọi yêu cầu mà tôi đang cố gắng tạo ra việc sử dụng Python.Tính toán giá trị băm SHA bằng chuỗi + khóa bí mật trong python
Bước tôi nhận được hung lên trên là này một:
"Tính toán một RFC 2104-compliant HMAC với các thuật toán SHA256 băm bằng cách sử dụng chuỗi trên với chúng tôi 'giả' bí mật Access Key: 1234567890. Để biết thêm thông tin về bước này, xem tài liệu và mã mẫu cho ngôn ngữ lập trình của bạn. "
Cho một chuỗi và một khóa bí mật (trong trường hợp này là 1234567890) làm cách nào để tính giá trị băm này bằng Python?
----------- CẬP NHẬT -------------
Các giải pháp đầu tiên sử dụng HMAC.new vẻ đúng tuy nhiên tôi nhận được một kết quả khác nhau hơn thế.
http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/index.html?rest-signature.html
Theo ví dụ của Amazon khi bạn băm khóa bí mật 1234567890 và chuỗi sau
GET
webservices.amazon.com
/onca/xml
AWSAccessKeyId=00000000000000000000&ItemId=0679722769&Operation=I
temLookup&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReview
s&Service=AWSECommerceService&Timestamp=2009-01-01T12%3A00%3A00Z&
Version=2009-01-06
Bạn sẽ nhận được chữ ký sau đây: 'Nace+U3Az4OhN7tISqgs1vdLBHBEijWcBeCqL5xN9xg='
Tôi nhận được điều này: '411a59403c9f58b4a434c9c6a14ef6e363acc1d1bb2c6faf9adc30e20898c83b'
Bạn có thể tìm thấy tiện ích này hữu ích. Thuật toán ký một yêu cầu REST tới Amazon được mô tả trong [http://stackoverflow.com/questions/1088715/how-to-sign-amazon-web-service-requests-from-the-python-app-engine/ 1343917 # 1343917] (http://stackoverflow.com/questions/1088715/how-to-sign-amazon-web-service-requests-from-the-python-app-engine/1343917#1343917) – alsan