Шифрування в delphi

Дані треба берегти. Сам поміркуй, прикро, якщо відкриття ціною в сто мільйонів єнотів або рецепт безалкогольної горілки, над яким ти сидів три вечори в похмурому підвалі нелегального комп'ютерного клубу, - втече до злісного ледачому конкуренту, який, користуючись твоїм похміллям, наклав брудну лапу на приватні дискети з цінної інфою. Далі можна не продовжувати. Шифруємо, шифруємо, шифруємо.

Алгоритм шифрування буде простий, як 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

Схожі статті