Xor шифрование - Pascal

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Нужно написать программу xor шифрования строки другой строкой. Строка, которая будет шифроваться, вводится с клавиатуры, далее вводится ключ. Допустим строка "Привет Мир" и ключ "басков" должно получиться "басковбаск".

Решение задачи: «Xor шифрование»

textual
Листинг программы
procedure codec(var s: string; key: string);
var i, j: integer;
begin
  if length(key) > 0
    then begin
      j := 1;
      for i := 1 to length(s) do
        begin
          s[i] := char(byte(s[i]) xor byte(key[j]));
          inc(j);
          if j > length(key) then j := 1
        end
    end
    else writeln('Ошибка: нулевая длина ключа.')
end;
 
var str, keystr: string;
begin
  writeln('Введите строку:');
  readln(str);
  writeln('Введите ключ:');
  readln(keystr);
  writeln('Закодированная строка:');
  codec(str, keystr);
  writeln(str);
  writeln('Раскодированная строка:');
  codec(str, keystr);
  writeln(str);
  readln
end.

Объяснение кода листинга программы

  1. Объявление процедуры codec с параметрами s и key типа string
  2. Объявление переменных i и j типа integer
  3. Проверка условия: если длина ключа (переменная key) больше нуля, то выполняется следующий блок кода
  4. Установка начального значения переменной j равным 1
  5. Цикл от 1 до длины строки s
  6. Внутри цикла каждый символ строки s изменяется посредством операции XOR (исключающее ИЛИ) с символом ключа key, перемещаясь по ключу в циклическом порядке
  7. Если индекс j превышает длину ключа, то он возвращается к начальному значению
  8. Если длина ключа равна 0, выводится сообщение об ошибке
  9. Объявление переменных str и keystr типа string
  10. Ввод строки с клавиатуры и сохранение в переменную str
  11. Ввод ключа с клавиатуры и сохранение в переменную keystr
  12. Вывод строки Закодированная строка:
  13. Вызов процедуры codec для закодирования строки с использованием ключа
  14. Вывод закодированной строки
  15. Вывод строки Раскодированная строка:
  16. Вызов процедуры codec для раскодирования строки с использованием ключа
  17. Вывод раскодированной строки
  18. Ожидание ввода пользователя.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы