Для поиска темы - пользуйтесь СИСТЕМОЙ ПОИСКА


Стоимость дипломной работы


Home Программы Как написать простую программу для шифрования текста в изображения

Как написать простую программу для шифрования текста в изображения
загрузка...
Рейтинг пользователей: / 0
ХудшийЛучший 

Как написать простую программу для шифрования текста в изображения

Результат работы программы

Результат работы программы

Видел тут была статья про QR-коды, после ее прочтения мне захотелось сделать свой шифровальщик :)
Он написан на языке PascalABC, хотя можно было и другой выбрать, но мне под руку больше ничего не попало, к тому же этот язык очень прост для освоения.

Инструкция

Уровень сложности: Непросто

1 шаг

Принцип работы программы простой: сначала берутся поочередно все символы из шифруемой строки, потом они конвертируются в числа, например a – 1, b – 2, z – 26 и тд. Потом эти числа переводятся в формат RGB, для конвертации в формат RGB нужно три числа, значит в одном квадрате можно зашифровать три символа. А затем уже рисуется квадрат с заданным цветом.

2 шаг

Первое, что нужно сделать – это функцию конвертирования символа в цвет. Я ее назвал “Code”.

function Code(str : string): integer;
var i : integer;
begin
For i:=1 to 26 do
begin
if Chr(96+i)=str then Result:=i;
end;

For i:=1 to 26 do begin if Chr(64+i)=str then Result:=i+26; end; For i:=1 to 32 do begin if Chr(223+i)=str then Result:=i+52; end; For i:=1 to 32 do begin if Chr(191+i)=str then Result:=i+84; end;

end;

Если написать команду write(Code(‘a’)); то на экран будет выведен код символа “а”. На экране появится единица.

3 шаг

А потом нужно сделать функцию разбивки шифруемой строки и рисования цветных квадратов.

For j:=1 to Trunc(Length(in_str)/3) do
begin
x:=j*3-2;
tmpR:=round(Code(Copy(in_str,x,1))li_lv);
tmpG:=round(Code(Copy(in_str,x+1,1))
li_lv);
tmpB:=round(Code(Copy(in_str,x+2,1))*li_lv);

If debug=1 then begin WriteLn(chr(39),Copy(in_str,x,1),chr(39),’ – ’,tmpR); WriteLn(chr(39),Copy(in_str,x+1,1),chr(39),’ – ’,tmpG); WriteLn(chr(39),Copy(in_str,x+2,1),chr(39),’ – ’,tmpB); WriteLn; end; SetBrushColor(RGB); Rectangle(wc*a,hc*a,(wc+1)a,(hc+1)a); inc(wc); if wc=maxw then begin wc:=0; hc:=hc+1; end; end;

4 шаг

Вы также можете скачать готовый вариант программы, там есть и комментарии.
http://wenicc.dq.by/downloads/shifr.pas

Если у вас не оказалось Паскаля, то вы можете скачать его с официального сайта.
ftp://sunschool.math.rsu.ru/pub/pabc/PABCDistr.zip


 
загрузка...

Добавить комментарий


Защитный код
Обновить