2015-07-08 2 views
1

Благодарим за помощь.CryptoJS AES Увеличить размер файла

У меня проблема с библиотекой sjcl или cryptojs aes library. Каждый раз, когда я шифрую свой файл с размером файла размером * 2. Например: когда я загружаю файл размером 4 МБ, на моем сервере есть файл размером 8 МБ.

я разбить файл на блоке, который bytesize можно разделить на 16.

Пожалуйста, помогите мне

Это путь я зашифровать файл:

var l_EncryptetData = CryptoJS.AES.encrypt(p_ChunkData, p_FileKey).toString(); 

И это пример массив с размерами блоков из файла 4mb:

0: 1572864 
1: 1572864 
2: 867005 
length: 3 

И FileKey является SHA-256 Hash

+0

Мы не можем помочь вам без кода, но обычно ** нет **, что не может произойти. Возможно, вы передаете в шестнадцатеричном виде, а не декодируете его обратно? –

+0

Я редактирую свой пост. – Hendrik

ответ

2

Вы преобразуете шифровой выход (объект CipherParams) в строку символов. По умолчанию CryptoJS делает это, представляя результат в шестнадцатеричном формате, где каждый байт кодируется как две шестнадцатеричные цифры. Вы можете переопределить это поведение, предоставив custom format strategy.. Или еще лучше, не конвертируйте текст шифрования в строку символов; сохраните его как двоичные данные.

Пожалуйста, предоставьте пользователям вашего приложения, что он не защищен.

+0

Это не работает:/Почему вы считаете этот метод незащищенным? – Hendrik

+0

@Hendrik * Что * не работает? Покажите обновленный код и детализируйте текущие результаты. Вы извлекаете ключ, хешируя пароль один раз. Это не безопасно. Я бы рискнул предположить, что есть и другие проблемы. – erickson

+0

Но почему хэш как ключ aes небезопасен? Код не нужен. Проблема в том, что каждый формат, который я использую, больше оригинала. Base64, Hex. Я не могу отправить его в latin1 (контрольная сумма на сервере не удалась), и когда я хочу форматировать в utf-8, появляется ошибка «Неправильные данные UTF-8». Единственный положительный момент в том, что я знаю причину сейчас. Но у меня нет решения для этого – Hendrik

 Смежные вопросы

  • Нет связанных вопросов^_^