Для воспроизведения результата сайта необходимо учитывать следующее:
- Ключ должен быть передан
CryptoJS.AES.encrypt
как WordArray
. В противном случае он интерпретируется как кодовая фраза, здесь . - Режим CB C (по умолчанию Crypto JS, здесь ) требует IV, который должен быть передается
CryptoJS.AES.encrypt
как WordArray
(если IV не указан на веб-сайте, неявно используется 0
-вектор). - Возвращаемое значение
CryptoJS.AES.encrypt
является объектом CipherParams
, который инкапсулирует зашифрованный текст среди прочего, здесь .
var rawStr = "MyPassword";
var secret = CryptoJS.enc.Utf8.parse('EL12ec@REteLe(0M');
var iv = CryptoJS.enc.Utf8.parse('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0');
var encrypted = CryptoJS.AES.encrypt(rawStr, secret, {iv: iv});
console.log('Output:', CryptoJS.enc.Base64.stringify(encrypted.ciphertext)); // Output: S9bEDxeu/jr+8CdRkiUEog==
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9/crypto-js.min.js"></script>