![](/img/trans.png)
[英]Why does my crypto.createHmac() generate a different HMAC for the same input?
[英]Translating JS crypto.createHmac to Xojo Crypto.HMAC
我正在嘗試在 Javascript 中翻譯這個塊:
const crypto = require('crypto'),
shared_key = 'kw4qSnpSwXzgiv5yxYpZZmFEd9QAeiKTQ6OuyMja',
signing_string = 'licenseSpring\ndate: Tue, 07 Jun 2011 20:51:35 GMT';
let signature = crypto.createHmac('sha256', shared_key).update(signing_string).digest('base64');
console.log(signature);
// UDysfR6MndUZReo07Y9r+vErn8vSxrnQ5ulit18iJ/Q=
走進Xojo:
Var shared_key as String = "kw4qSnpSwXzgiv5yxYpZZmFEd9QAeiKTQ6OuyMja"
Var signing_string as String = "licenseSpring\ndate: Tue, 07 Jun 2011 20:51:35 GMT"
Var hash As String
hash = EncodeBase64(Crypto.HMAC(shared_key, signing_string, Crypto.HashAlgorithms.SHA256))
MessageBox(hash)
//Q4BAhsu1Xw3LsBZ+BCLShWQDbmJ2j/eFXzvF9T6n9tU=
我得到兩個不同的散列字符串,但希望它們應該是相同的。 這些算法是否等效?
原來是這樣的:
Var signing_string as String = "licenseSpring" + EndOfLine.UNIX + "date: Tue, 07 Jun 2011 20:51:35 GMT"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.