Пример шифрования / дешифрования CryptoJS с двоичными файлами на сайтах клиентов - PullRequest
0 голосов
/ 12 июня 2018

Я хочу использовать CryptoJS для шифрования / дешифрования только на сайте клиента.Но я не могу найти, почему мой код работает неправильно.Шифрование выглядит нормально, но я не могу расшифровать после того, как зашифровал некоторый двоичный файл.Возможно, это потому, что я использую неправильные параметры шифрования в своем коде для шифрования двоичного файла.Я прилагаю свой код, который я использую для шифрования двоичного файла (mp3, avi или другой), но мне не повезло.Можно мне сказать, где я делаю ошибку?Я также искал несколько примеров, где я смогу увидеть возможное использование CryptoJS для двоичного файла, но я провел два дня в Интернете и не нашел соответствующего ответа.Существует много примеров шифрования на клиентском сайте и дешифрования на серверном сайте, но не было найдено ни одного примера шифрования клиентского сайта на клиентском сайте (чистая реализация javascript) ... Поэтому я спрашиваю здесь, какова моя последняя попытка найти решение длямоя проблема.Любая помощь будет благодарна !!!THX

Я использую CryptoJS v3.1.2

$("#ffle").change(function(){
    var file = this.files[0];
    var reader = new FileReader();

    var key =  CryptoJS.enc.Utf8.parse("Halo");
    var iv =  CryptoJS.enc.Utf8.parse("123");

    reader.onload = function (e) {

        var encdata = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(e.target.result), key,
        {
            keySize: 256,
            iv: iv,
            mode: CryptoJS.mode.CBC,    //padding: CryptoJS.pad.Pkcs7
        });

        var finData = encodeURIComponent(encdata);
        var form_data = new FormData();                 
        form_data.append('file_enc', finData);

        var xhr = new XMLHttpRequest();    

        xhr.open('POST', 'https://crypt.xxxxxxx.net/fileenc4/save.php', true); 
        xhr.send(form_data);
        xhr.onload = function () {

        };

    }

    reader.readAsText(this.files[0]);     
});
...