Код: Выделить всё
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));
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-nodejs
Мобильная версия