Как с помощью bcrypt зашифровать в строку? Есть фронтенд на ангуляр, есть бэк на ноде.
Нужно с помощью bcrypt зашифровать json объект, для дальнейшее сохранение его в локальном хранилище, далее когда мне это необходимо, мне нужно его на фронте расшифровать.
Каким образом с помощью bcrypt мне можно зашифровать данные в строку, которую потом можно расшифровать зная секрет?
И где мне хранить безопасно секреты?

21 Авг 2019 в 07:10
252 +1
0
Ответы
1

Bcrypt не предназначен для шифрования данных, он используется для хеширования паролей. Для шифрования данных в строку и их последующего расшифрования с использованием ключа (секрета), вам нужно использовать симметричные алгоритмы шифрования, такие как AES.

Для шифрования и дешифрования данных на фронтенде (Angular) и бэкенде (Node.js) вы можете использовать библиотеку crypto-js, которая поддерживает AES и другие алгоритмы шифрования. Вам нужно будет сгенерировать ключ шифрования, который будет использоваться для шифрования и дешифрования данных.

Для безопасного хранения ключа шифрования вы можете использовать специальные сервисы хранения секретов, такие как AWS Secrets Manager или Vault от HashiCorp. Эти сервисы обеспечивают сохранность и безопасность секретов, делая их недоступными для несанкционированного доступа.

Пример кода для шифрования и дешифрования данных с использованием crypto-js:

Установите библиотеку crypto-js:

npm install crypto-js

Пример кода для шифрования и дешифрования данных:

// Бэкенд (Node.js)
const CryptoJS = require('crypto-js');
const secretKey = 'mySecretKey';
const data = {
message: 'Hello, World!'
};
// Encrypt data
const ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), secretKey).toString();
console.log('Encrypted data:', ciphertext);
// Фронтенд (Angular)
import * as CryptoJS from 'crypto-js';
const secretKey = 'mySecretKey';
// Decrypt data
const bytes = CryptoJS.AES.decrypt(ciphertext, secretKey);
const decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
console.log('Decrypted data:', decryptedData);

Пожалуйста, помните, что безопасное хранение ключа шифрования крайне важно для защиты данных. Не храните ключи в открытом виде в вашем коде или репозитории. Вместо этого используйте сервисы хранения секретов для обеспечения безопасности вашего приложения.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир