Как создать симметричный хэш из двух строк? Я в криптографии плохо разбираюсь, поэтому прошу совета.
У меня есть две строки
const str1 = "str1"
const str2 = "str2"
Мне нужно получить один и тот же хэш в не зависимости от порядка предоставления строк. Просто хэш, не шифрование текста с двумя ключами
hash(str1, str2) === hash(str2, str1)
Какой алгоритм в crypto для этого подойдет?

21 Авг 2019 в 07:11
219 +1
0
Ответы
1

Для создания симметричного хэша из двух строк вам подойдет алгоритм HMAC (Hash-based Message Authentication Code) в Node.js. Пример использования:

const crypto = require('crypto');
const str1 = "str1";
const str2 = "str2";
const hash1 = crypto.createHmac('sha256', 'secret').update(str1 + str2).digest('hex');
const hash2 = crypto.createHmac('sha256', 'secret').update(str2 + str1).digest('hex');
console.log(hash1); // Выведет один и тот же хэш
console.log(hash2); // Выведет один и тот же хэш

Обратите внимание, что в примере выше я использовал алгоритм sha256 и секретный ключ 'secret'. Вы можете выбрать другой алгоритм или ключ в зависимости от ваших требований.

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир