Ты перевёл буффер в строку, указав что там будто бы лежит текст в utf-8. Хотя там 32 рандомных байта, которые не обязательно текстовые. Ты вывел этов консоль, получил иероглифы (потому что там не текст). В итоге зачем тебе текст и какой текст нужен? Если в hex перевести, пойдëт?
текст нужен, чтобы сохранить в базу
Ну hex или base64 чем не подходит?
переводится в строку нормально, а обратно не переводится в буфер. обратно нужно перевести, чтобы использовать для шифрования паролей
Не переводится нормально обратно это что значит? Покажи как переводишь, какой результат ожидаешь и какой получаешь
ожидаю 1 (цифра 1 на скрине). получаю 3-й
В 3,на скрине, ты выводишь не буффер, а строку. Уберит конвертацию в строку, и выведи буффер, который получил
это тестовый вариант. так не будет работать. я хочу сгенерировать буфер с помощью crypto.randomBytes(32) один раз и сохранить его в текст и после этого уже ничего не генерировать. просто получать данные из строки сохраненной в базе.
Тогда вопрос снова, чем base64 не подходит?
Не понял, какую формулу? Base64 это способ любые байты закодировать текстом, 64 символами
А обратно в байты текст можно перекодировать?
Всм обратно байты в текст? Может обратно base64 в байты?
Почитай что такое base64, вопросы отпадут
Либо как ниже подсказали в base64 либо в hex переведи и храни
Спасибо. я примерно понял в чем проблема. Буду искать решение.
Ооо дошел до исходного Тебе походу это надо? https://www.section.io/engineering-education/data-encryption-and-decryption-in-node-js-using-crypto/
Обсуждают сегодня