Javascript: Äquivalent von PHP's hash_hmac () mit RAW BINARY Ausgabe?

9

Ich verbinde mich mit der Amazon Product Advertising API, und um meine Anfrage zu signieren, muss ich die rohe binäre Ausgabe eines HMAC-SHA256 Hashs base64-encodieren.

In der PHP-Dokumentation für hash_hmac steuert der vierte Parameter bool $raw_output ob die Ausgabe ist rohe Binärdaten (true) oder Kleinbuchstaben (false). Mein Programm funktioniert in PHP, indem ich einfach diesen Parameter auf true setze.

Ich versuche jedoch, dies auf Javascript zu portieren. Ich habe versucht, die CryptoJS.HmacSHA256 () - Funktion zu verwenden, aber es scheint die Kleinbuchstaben Hexits zurückzugeben. Wie kann ich das in binäre konvertieren?

Ich habe das Folgende gemäß der CryptoJS-Dokumentation versucht, aber beide Ausgaben sind identisch:

%Vor%     
Kevin Cooper 23.08.2012, 19:59
quelle

2 Antworten

12

Dies wird in der Dokumentation erläutert. Versuchen Sie Folgendes:

%Vor%

Sie müssen Ссылка einbeziehen dafür. Wenn Sie dies nicht angegeben haben, wird CryptoJS.enc.Base64 undefined und fallback auf den Standardwert gesetzt.

Arbeitsdemo: Ссылка

    
Esailija 23.08.2012, 20:04
quelle
2

PHP-Code

%Vor%

php-Ausgabe

%Vor%

Knotencode

%Vor%

Knotenausgabe

%Vor%     
muhawo 22.09.2017 12:48
quelle