Как использовать криптографию nodejs в cryptoMd5Method EvaporateJS - PullRequest
0 голосов
/ 25 июня 2019

Я использую EvaporateJS в реактивном проекте, который использует веб-пакет.

Как описано в документации Я использовал следующее:

( Я не хочу использовать aws-sdk из-за размера пакета, который, между прочим, работает правильно )

cryptoMd5Method: function (data) { 
 return crypto.createHash('md5').update(data).digest('base64'); 
}

Но «data» - это тип ArrayBuffer. Поэтому я попытался преобразовать его в строку.

cryptoMd5Method: function (data) { 
    var enc = new TextDecoder();
    var dataString = enc.decode(data);
    var computed = crypto.createHash('md5').update(dataString).digest('base64');
    return computed ;
}

Но это не правильно вычисляет дайджест.


Итак, каким должно быть решение для этого (учитывая криптографическую опцию nodejs)?

Также альтернативно, как импортировать только модуль AWS.util.crypto без ссылки на весь aws-sdk? Это поможет мне сохранить небольшой пакет.

1 Ответ

0 голосов
/ 25 июня 2019

Весь aws-sdk действительно большой, однако для front-end (браузеров) вы можете создать меньший артефакт, который включает в себя только то, что вам нужно.Следуйте инструкциям в amazon docs - Построение SDK для браузеров .

Для преобразования ArrayBuffer в строку для передачи его в метод update() алгоритма хеширования см .: Преобразование между строками и ArrayBuffers .

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