нет, я пересмотрел исходник, ключи друг друга не шифруют (я ошибся когда написал что ключи друг друга шифруют), это идет инициализация енкодера, и ключ (рандомный) пишется в поток.
Спасибо за идею, я последовал вашему совету и сделал, что вместо рандомного ключа вписывается хеш паролья (методом MD5), и не происходит записи ключа в файл.
Хм, если сделать чтобы ключ автоматом менялся при превышении 1 Кб, а точнее был бы CRC от предыдущего блока?
Как шифруются файлы в архиве:
-Исходный поток файла
-Если предшифрование, то шифрование по одному из методов
-Сжатие полученного потока, получение CRC32
-Если постшифрование, то шифрование по одному мз ключей
--------------
-Формирование заголовка (по той же системе)
--------------
-Запись размера заголовка в конечный поток
-Запись заголовка файла в конечный поток
-Запись потока сжатого\шифрованного файла
и так по циклу.
Да и если MD5 такой уж слабый, то не подскажите какой лучше использовать.
|