Дані треба берегти. Сам поміркуй, прикро, якщо відкриття ціною в сто мільйонів єнотів або рецепт безалкогольної горілки, над яким ти сидів три вечори в похмурому підвалі нелегального комп'ютерного клубу, - втече до злісного ледачому конкуренту, який, користуючись твоїм похміллям, наклав брудну лапу на приватні дискети з цінної інфою. Далі можна не продовжувати. Шифруємо, шифруємо, шифруємо.
Алгоритм шифрування буде простий, як Win 3.1. З кожним символом кодованого документа проробимо наступне:
1. Перетворимо символ в число командою Ord.
2. Перетворимо кожен символ користувальницького пароля в число і суму цих чисел додамо до отриманого в пункті 1.
3. Від результату віднімаємо число, рівне позиції даного символу. Тобто букви будуть шифруватися по-різному в залежності від їх позиції в рядку :).
4. Те, що вийшло, запишемо назад з чисел в символи командою Chr. Як бачиш, після всіх наших маніпуляцій цей символ вже буде іншим.
5. Запишемо весь рядок навиворіт командою ReverseString.
Дешифрування, як ти здогадуєшся, буде проводитися в зворотному порядку.
Тепер, коли алгоритм намертво засів в голові, реалізуємо відповідну програму. Увага! Не виключено, що це буде перша твоя програма до цього синтаксисом команд:
<команда> <путь> <пароль>
- так буде виглядати він в консолі нашого застосування (так, воно буде консольним!). Команд всього дві: crypt і decrypt - відповідно зашифрувати і дешифрувати файл, шлях до якого вказується після пробілу, а потім - твій пароль. НЕ Забудь ЙОГО! Попереджаю цілком серйозно. Запам'ятав? В бій!
Crypt C: \ file.txt linuxmustsurvive
- закодируем File.txt. Результат (зашифрований текст) зберегтися в тій же директорії, що і виконуваний файл нашого застосування під ім'ям Translated_File.txt.
Decrypt C: \ Translated_file.txt linuxmustsurvive