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

Зміст

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

Бачив тут була стаття про 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 dobeginif Chr (64 + i) = str then Result: = i + 26-end-For i: = 1 to 32 dobeginif Chr (223 + i) = str then Result: = i + 52- end-For i: = 1 to 32 dobeginif 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 крок

Ви також можете завантажити готовий варіант програми, там є і коментарі.
https://wenicc.dq.by/downloads/shifr.pas

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







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