2012-03-11 17 views
18

Tôi muốn chuyển tiếp khách truy cập của mình đến bên thứ ba. bên thứ 3 này sẽ xử lý thanh toán và POST của họ cho tôi một thẻ 64 nhân vật tạo ra từ một số đơn hàng duy nhất và chia sẻ mật khẩu sử dụng PHP của hash_hmac bằng cách sử dụng thuật toán sha256, như vậy:Có tương đương với hash_hmac của PHP trong Python/Django không?

$token = hash_hmac("sha256", "12345", "sharedpassword"); 

Sau đó, tôi muốn sử dụng các thuật toán tương tự vào cuối của tôi để tạo ra (hy vọng) cùng một mã thông báo để xác minh người dùng đã trả tiền. Vấn đề là tôi không thể tìm thấy một hàm tương đương hoặc cách để tái tạo hàm trong Python. Gần nhất tôi đã đến là của Python hashlib, nhưng có vẻ không phải là một chức năng mà có thể mất trong 2 đối số - dữ liệu và mật khẩu được chia sẻ. Có ai biết về một tương đương của hash_hmac sẽ được áp dụng trong trường hợp này?

Trả lời

40

Bạn muốn hmac.

hmac.new("sharedpassword", "12345", hashlib.sha256).hexdigest() 
+1

Cảm ơn bạn! Tôi đoán nhu cầu google-fu của tôi rất đáng nể. – kshen

Các vấn đề liên quan