Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 583

•  TDictionary Custom Sort  6 599

•  Fast Watermark Sources  6 369

•  3D Designer  9 319

•  Sik Screen Capture  6 703

•  Patch Maker  7 084

•  Айболит (remote control)  7 088

•  ListBox Drag & Drop  5 955

•  Доска для игры Реверси  97 496

•  Графические эффекты  7 290

•  Рисование по маске  6 584

•  Перетаскивание изображений  5 457

•  Canvas Drawing  5 826

•  Рисование Луны  5 537

•  Поворот изображения  5 058

•  Рисование стержней  3 623

•  Paint on Shape  2 864

•  Генератор кроссвордов  3 750

•  Головоломка Paletto  3 019

•  Теорема Монжа об окружностях  3 828

•  Пазл Numbrix  2 519

•  Заборы и коммивояжеры  3 219

•  Игра HIP  2 186

•  Игра Go (Го)  2 117

•  Симулятор лифта  2 499

•  Программа укладки плитки  2 149

•  Генератор лабиринта  2 633

•  Проверка числового ввода  2 303

•  HEX View  2 635

•  Физический маятник  2 255

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Повышение криптоустойчивости шифрования текста любым алгоритмом



Автор: Delirium

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Повышение криптоустойчивости шифрования текста любым алгоритмом

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

Зависимости: SysUtils
Автор:       Delirium, VideoDVD@hotmail.com, ICQ:118395746
Copyright:   Delirium (Master BRAIN) 2004
Дата:        28 февраля 2004 г.
***************************************************** }

const
  NPCS: set of char = [#0..#8, #11, #12, #14..#31, '' ];

  // Добавление в текст непечатных символов

function AddDisturbToText(Source: string): string;
var
  n, c: integer;
begin
  Randomize;
  Result := Source;
  n := (Length(Source) * 2) + Random(Length(Source));
  while Length(Result) < n do
  begin
    c := Random(128);
    if Chr(c) in NPCS then
      Insert(Chr(c), Result, Random(Length(Result)) + 1)
  end;
end;

// Убрать из текста непечатные символы

function RemoveDisturbFromText(Source: string): string;
var
  i: integer;
begin
  Result := Source;
  i := 1;
  while i < Length(Result) do
    if Result[i] in NPCS then
      Delete(Result, i, 1)
    else
      Inc(i);
end;