2012-03-11 3 views
18

Desidero inoltrare i miei visitatori a un sito di pagamento di terze parti. Questo 3rd party elaborerà il pagamento e POST per me un gettone 64 caratteri generato da un numero d'ordine e di una password condivisa utilizzando PHP hash_hmac utilizzando l'algoritmo sha256, in questo modo:Esiste un equivalente di hash_hmac di PHP in Python/Django?

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

poi voglio usare lo stesso algoritmo dalla mia parte per generare (si spera) lo stesso token per verificare che l'utente abbia pagato. Il problema è che non riesco a trovare una funzione equivalente o un modo per replicare la funzione in Python. Il più vicino possibile è Python hashlib, ma non sembra essere una funzione che può contenere 2 argomenti: i dati e la password condivisa. Qualcuno sa di un equivalente di hash_hmac che sarebbe applicabile in questo caso?

risposta

40

Si desidera hmac.

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

Grazie! Suppongo che il mio google-fu abbia bisogno di affinarsi. – kshen