У меня есть трудное преобразование существующего кода GO в NodeJS. Это в основном хеширующий скрипт, который принимает 2 аргумента СогласенKey и соль и возвращает хэш пароля.Преобразование скрипта смены пароля из GO в Nodejs
package main
import (
"fmt"
"hash"
"crypto/sha256"
)
func main() {
var agreedUponKey string
var salt string
var h hash.Hash
agreedUponKey = "giri"
salt = "XYZabc987"
h = sha256.New()
h.Write([]byte(agreedUponKey))
h.Write([]byte(salt))
sha256Sum := h.Sum(nil)
print("calculated passwordHash:", sha256Sum)
var hexHash = make([]byte, 0, 64)
for _, v := range sha256Sum {
hexHash = append(hexHash,[]byte(fmt.Sprintf("%02x", v))...)
}
print("calculated passwordHash:", string(hexHash))
}
мне удалось закодировать до следующей точки
var crypto = require('crypto');
var convert = require('convert-string');
function test(pwd,key) {
console.log("Password :",pwd);
var byteKey=convert.stringToBytes(key);
var bytePwd=convert.stringToBytes(pwd);
var hash = crypto.createHash('sha256').update(byteKey+bytePwd).digest('base64');
console.log("hashcode of password :",hash);
};
test("XYZabc987","giri");
В 2 хэши различны. Любая помощь будет принята с благодарностью. Я Noob в GO Lang
Обратите внимание: Вы можете использовать https://play.golang.org/ скомпилировать и запустить Go Script
В узловой части отсутствует «соль». –
тест («XYZabc987», «giri»); мы отправляем его в качестве аргумента –