Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Алгоритм шифрование XOR

Delphi , Синтаксис , Шифрование

Алгоритм шифрование XOR

Призвали как-то одного волосатого админа в армию служить, на границу. Поставили его в дозор. Вдруг админ слышит шаги...
- Стой! Пароль!.. ответ из темноты:
- Владивосток...
- Логин...
- ?!..


program Crypt;
{$APPTYPE CONSOLE}

uses Windows;

var
  key, text, longkey, result : string;
  i : integer;
  toto, c : char;
  F : TextFile;
begin
  writeln('Enter the key:');
  readln(key);
  writeln('Enter the text:');
  readln(text);

  for i := 0 to (length(text) div length(key)) do
    longkey := longkey + key;

  for i := 1 to length(text) do
  begin
    // XOR алгоритм
    toto := chr((ord(text[i]) xor ord(longkey[i])));
    result := result + toto;
  end;
  writeln('The crypted text is:');
  writeln(result);
  write('Should i save it to result.txt ?');
  read(c);
  if c in ['Y','y'] then
  begin
    AssignFile(F,'result.txt');
    Rewrite(F);
    Writeln(F,result);
    CloseFile(F);
  end;
end.

Алгоритм, используемый в этом программе, - это метод шифрования XOR (исключительное или), который является простым и быстрым способом зашифровать данные.

Вот как он работает:

  1. Пользователю предлагается ввести ключ, который будет использоваться для шифрования текста.
  2. Ключ повторяется столько раз, сколько необходимо, чтобы соответствовать длине текста.
  3. Для каждого символа в тексте программа выполняет операцию XOR между ASCII-значением символа и ASCII-значением соответствующего символа в ключе.
  4. Результат операции XOR конвертируется обратно в символ с помощью функции CHR.
  5. Полученные символы конкатенируются в новый строку, которая является зашифрованным текстом.

Программа также позволяет пользователю сохранить зашифрованный текст в файле "result.txt".

Вот пример, как работает этот алгоритм:

Пусть ключ будет "ABC" и текст будет "HELLO". Программа повторит ключ столько раз, сколько необходимо, чтобы соответствовать длине текста, поэтому длинный ключ будет "ABCABC".

Процесс шифрования будет выглядеть следующим образом:

H (ASCII-значение 72) XOR A (ASCII-значение 65) = 7
E (ASCII-значение 69) XOR B (ASCII-значение 66) = 3
L (ASCII-значение 76) XOR C (ASCII-значение 67) = 9
L (ASCII-значение 76) XOR A (ASCII-значение 65) = 11
O (ASCII-значение 79) XOR B (ASCII-значение 66) = 13

Результатом шифрования является серия ASCII-значений, разделенных пробелами. Это можно конвертировать обратно в читаемую строку с помощью функции CHR.

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

Алгоритм шифрования XOR - это простой и эффективный способ зашифровать текст с помощью специального ключа, выполняющий операцию исключающего или (XOR) между байтами исходного текста и ключом.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Шифрование ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-04-04 02:56:24/0.024427890777588/1