CryptoJS не может расшифровать данные - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть следующий метод шифрования, который использует CryptoJS для шифрования пароля.

function encrypt() {
            var val = document.getElementById('password').value;
            var key = CryptoJS.enc.Base64.parse('u/Gu5posvwDsXUnV5Zaq4g==');
            var ivec = CryptoJS.enc.Base64.parse('5D9r9ZVzEYYgha93/aUK2w==');
            var dataString = CryptoJS.enc.Utf8.parse(val);
            var encrypted = CryptoJS.AES.encrypt(dataString.toString(), key,
                { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, iv: ivec });

            document.dform.plaintext.value = encrypted.toString();
            form.submit();
        }

Следующий метод расшифровки не дает мне желаемого результата:

function decrypt() {
            var val = document.getElementById('password').value;
            var key = CryptoJS.enc.Base64.parse('u/Gu5posvwDsXUnV5Zaq4g==');
            var ivec = CryptoJS.enc.Base64.parse('5D9r9ZVzEYYgha93/aUK2w==');
            //var dataString = CryptoJS.enc.Utf8.parse(val);
            var decrypted = CryptoJS.AES.decrypt(val, key,
                { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, iv: ivec });

            document.dform.plaintext.value = decrypted.toString();
            //form.submit();
        }

Образец зашифрованного текста: y5uoJYFk1 + QS2I4Wx7QnsBq8dGe30ucBNaXsTnNhTOE =

Открытый текст: helloworld

...