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

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

Видел тут была статья про 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

Обсуждение

Avatar_micro
Рейтинг
  1. +
  2. 0
Acidburn (16:39 06.05.2011)

Если вам понравится, то напишу еще и деШифровщик :)

863_micro
Рейтинг
  1. +
  2. 0
Sergofanikus (02:12 17.05.2011)

Спасибо =)

043_micro
Рейтинг
  1. +
  2. 0
Crysis_777 (23:32 30.06.2011)

дешифратор в студию ! =) лови +

662_micro
Рейтинг
  1. +
  2. 0
Hunter360 (02:07 25.11.2011)

Просто, со вкусом, и без занудства!
Плюс однозначно! :)
P.S. Было бы неплохо дешифратор заиметь :)

Ваш комментарий

Запросить инструкцию

Не нашли нужную пошаговую инструкцию?
Возможно, что кто-то из посетителей сайта сможет помочь. Оставьте запрос прямо сейчас, если Вы уверены, что эта тема ещё не освещена на нашем проекте!

Рейтинг
  1. +
  2. 4
4
2498