Скрытое Node.js Crypto HMA C to Go -lang HMA C Шифрование - PullRequest
0 голосов
/ 02 мая 2020

У меня следующий код node.js при вводе пароля ha sh.

body.password = covid@19

salt = "hello@world"
body.passwordhex = crypto.createHmac('sha256', salt).update(body.password).digest('hex');

Это дает следующий результат:

5fbbff7f6b4db4df6308c6ad7e8fd5afcea513bb70ca12073c7bec618c6b4959


Теперь я пытаюсь преобразовать его в * * 106 * * код * 1033-* *

body_password: = "covid@19"

salt := "hello@world"

// Create a new HMAC by defining the hash type and the key (as byte array)
h := hmac.New(sha256.New, []byte(key))

// Write Data to it
h.Write([]byte(salt))

// Get result and encode as hexadecimal string
hash := hex.EncodeToString(h.Sum(nil))

И результат go -lang равен

9b0cb661fcea1bbfe1fa38912e8610f8c0e4707739021bba8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 х х х х х х х х Х Х Х Х Х Х Х Х х х х х х х х х х сл ц ведущих дн им стоит здесь *

Что может быть не так в моем коде go -lang? Был ли это дайджест?

1 Ответ

1 голос
/ 02 мая 2020

Код Javascript использует salt в качестве клавиши HMA C и хеширует body_password. Сделайте то же самое в Go, чтобы получить тот же результат:

body_password := "covid@19"
salt := "hello@world"
h := hmac.New(sha256.New, []byte(salt))
h.Write([]byte(body_password))
hash := hex.EncodeToString(h.Sum(nil))

Запустите программу на GoLang PlayGround: https://play.golang.org/p/GASMDhEhqGi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...