Главные функции:
LCA2_FILE_CRYPT
LCA2_FILE_DECRYPT
bool LCA2_FILE_CRYPT(char *fn,
char *ou, char *key)
*fn - входной файл (т.е. тот, который
требуется зашифровать)
*ou - файл, в который бедет записан результат
*key - пароль
Функция возвращает true если
все прошло успешно и false -
если возникли некоторые проблемы с файлами (например: попытка записать
файл на диск, защищенный от записи)
bool LCA2_FILE_DECRYPT(char *fn,
char *ou, char *key)
*fn - входной файл (т.е. тот, который
требуется расшифровать)
*ou
- файл, в который бедет записан результат
*key
- пароль
Функция возвращает true если все прошло успешно и false - если возникли некоторые
проблемы с файлами.
Обе комманды действуют так: из входного
файла считывается байт, (де)шифруется каким-то n-ым образом и
записывается в результирующий файл. Если не достигнут конец файла
операция повторяется. Это не самый лучший вариант, но на моем
компьютере (Celeron 2GHz, 256Mb) 1 Mb зашифровивался за 4.4 секунды.
Алгоритм шифрации примерно таков:
- Сгенерировать static-массив (без пароля)
- Сгенерировать dynamic-массив (с учетом static-массива и пароля)
- Считать байт
- "Пропустить" его через dynamic а затем static-массив
- Записать байт
Алгоритм дешифрации рекурсивен.
Отсюда можно
скачать два header файла.