Шифрование на C++ с использованием Openssl и расшифровка с помощью CryptoJs в Nodejs.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Шифрование на C++ с использованием Openssl и расшифровка с помощью CryptoJs в Nodejs.

Сообщение Anonymous »

У меня есть код, где secret_key имеет длину 32, переменная cipherText будет содержать зашифрованные данные, которые необходимо декодировать

Код: Выделить всё

const secret_key = "Whispersofthewindechoedthroughth";

const decryptData = (cipherText) => {
const bytes = CryptoJS.AES.decrypt(cipherText, secret_key);
let message = bytes.toString(CryptoJS.enc.Utf8);
return message;
};
console.log("decrypt: " +decryptData(cipherText));
Может ли кто-нибудь предложить решения?
Я попытался зашифровать данные на C++, чтобы их можно было расшифровать в Node.js с помощью CryptoJS. Я использовал PKCS5_PBKDF2_HMAC для генерации 32-байтового ключа и инициализировал IV как 0 с размером 16 байт. MD5 использовался для хеширования в PKCS5_PBKDF2_HMAC. Для шифрования я использовал EVP_aes_256_cbc(), а для кодирования base64 — OpenSSL BIO. Однако в Node.js расшифровка не удалась.
В Nodejs для шифрования данных мы создаем следующую функцию: -
Сообщение представляет собой 10-значный номер, длина SecuritySalt – 128, secret_key длина 32

Код: Выделить всё

var CryptoJS = require("crypto-js");
SecuritySalt = "Amidst the bustling city streets, a solitary figure found solace in the melody of raindrops dancing upon the cobblestones.sdwe2q";
secret_key = "Whispersofthewindechoedthroughth";
const encryptData = (message) => {
return CryptoJS.AES.encrypt(
SecuritySalt + message,
secret_key
).toString();
};
let message = "1111111111";
console.log("encrypt message :" + encryptData(message));
Мне нужна такая же реализация на C++ с использованием openssl.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-nodejs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»