Написание программы для шифрования(криптография) на Delphi 6

Для начала могут пригодиться 2 функции для бинарного чтения и записи файлов в Delphi. Для работы этих функций потребуется создать в type TMyByteAr: array of byte, поскольку процедуры Delphi 6 не могут принимать на вход переменные типа array of byte, для того чтобы реализовать такую передачу создадим новый типа array of byte и он указан в качестве параметра принимаемого функциями. Функция чтения находится в листинге ниже.

В следующем листинге находится функция для записи информации в файл на Delphi из бинарного массива(array of byte).

Реализация криптографического алгоритма который смещает код каждого файла на одну единицу

Далее будут представлены листинги процедур для реализации криптографии на Delphi 6, а именно процедура осуществляющая шифрование(myCrypt) внутри которой код каждого байта входящего в процедуру массива уменьшается на 1, а если становится менее 0, то вычисляется как 256 плюс значение после вычитания единицы из кода байта(можно было сразу присвоить значение 255, при этом поскольку в следующем разделе статьи эти процедуры будут усложняться для более надёжного шифрования, используется именно такой вариант, поскольку в следующих процедурах он будет почти такой же), а так же процедура расшифровывающая входящий массив байтов(myDecrypt). В следующем листинге представлена шифрующая функция.

В следующем листинге представлена расшифровывающая входящий в неё массив байт функция(myDecript), которая восстанавливает код каждого байта путём прибавления к коду каждого байта одной единицы, а если результирующее значение оказывается более 255, то из него вычитается 256.

Алгоритм шифрования на Delphi основанный на перемешивании кодов байт исходного текста кодами байт md5 ключа

Перейдём к более стойкому шифрованию, для перемешивания байт в слудующем алгоритме шифрования будем использовать md5 хэшь который получается в результате передачи md5 функции пароля шифрования. Для начала напишем процедуру такой трансформации, она в следующем листинге.

В следующем листинге находится процедура осуществляющая шифрование(если третий параметр передан в неё в значении true) и расшифровывает(если третий параметр false).

Для более удобного вызова можно использовать отдельно написанную процедуру шифрования, её код в следующем листинге.

Так же для удобства процедура расшифрования, она в следующем листинге.

Комментарии

Если у Вас возникли вопросы, Вы можете задать их в форме ниже. В частности если Ваш вопрос по Bitrix и что то не получается - можно спросить. Ваш e-mail не публикуется, при этом я отвечу на него если будет что то по теме. Писать необходимо для людей - избегайте сленга, пишите орфографически правильно.

Имя:
E-mail:
Текст комментария:

Вы так же можете прочитать следующие статьи: