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

•  DeLiKaTeS Tetris (Тетрис)  181

•  TDictionary Custom Sort  3 355

•  Fast Watermark Sources  3 108

•  3D Designer  4 862

•  Sik Screen Capture  3 361

•  Patch Maker  3 565

•  Айболит (remote control)  3 675

•  ListBox Drag & Drop  3 032

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

•  Графические эффекты  3 956

•  Рисование по маске  3 268

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

•  Canvas Drawing  2 771

•  Рисование Луны  2 596

•  Поворот изображения  2 206

•  Рисование стержней  2 177

•  Paint on Shape  1 576

•  Генератор кроссвордов  2 250

•  Головоломка Paletto  1 777

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

•  Пазл Numbrix  1 691

•  Заборы и коммивояжеры  2 065

•  Игра HIP  1 285

•  Игра Go (Го)  1 235

•  Симулятор лифта  1 481

•  Программа укладки плитки  1 224

•  Генератор лабиринта  1 553

•  Проверка числового ввода  1 372

•  HEX View  1 502

•  Физический маятник  1 362

 
скрыть


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

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



Delphi Sources

Шифрование текстовых полей таблицы Interbase



Автор: Vemer

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Шифрование текстовых полей таблицы Interbase

Простенько но шустро шифрует текстовую строку VarChar в текстовую
строку VarChar, пригодную для сохранения в текстовом поле базы Interbase.
НЕ ЗАТРАГИВАЕТ ПРОБЕЛЫ!
Метод генерации (в начале) и изменения ключа (в 2-местах!) в вашей программе
лучше изменить от исходного в сторону усложнения, но не трогать "And 127" в конце.
Для работы с Char возможно стоит добавить "Trim(S1);" в самое начало.

Зависимости: Windows, SysUtils, DB
Автор:       Vemer, Vemer@List.Ru, Петрозаводск
Copyright:   Vemer
Дата:        16 ноября 2003 г.
***************************************************** }

function Morf(S1: string; T: Boolean): string;
var
  LS: Byte; //длина строки
  KB: Byte; //ключ, байт
  I: Byte; //Счетчик
  B: Byte; //байт строки
  W: Smallint; //буфер для ключа
  S2: string; //результат
begin
  LS := Length(S1);
  S2 := '';
  KB := LS * LS; //-------Изменить/Усложнить!And 127 не трогать!
  if T = False then // Выбор между шифрованием и дешифрованием
  begin
    for I := 1 to LS do
    begin //шифрование
      B := Byte(S1[I]);
      if B > 32 then
      begin
        W := B + KB;
        if W > 255 then
          W := W - 223;
        B := W;
      end; //If
      S2 := S2 + Chr(B);
      KB := (KB + (I * 2)) and 127;
      //-(1) Изменить/Усложнить! And 127 не трогать!
    end; //For
  end
  else
  begin //дешифровка
    for I := 1 to LS do
    begin
      B := Byte(S1[I]);
      if B > 32 then
      begin
        W := B - KB;
        if W < 33 then
          W := W + 223;
        B := W;
      end; //If
      S2 := S2 + Chr(B);
      KB := (KB + (I * 2)) and 127;
      //---(2) Сделать как в (1)! And 127 не трогать!
    end; //For
  end; //Else

  Result := S2;
end;

Пример использования:

// В вычисляемом поле для отображения текста в нормальном виде:
TableNewName.Value := Morf(TableName.Value, True);

// Для занесения в таблицу в зашифрованном виде например из Edit:
TableName.Value := Morf(Edit.Text, False);




Похожие по теме исходники

Codeo (шифрование Виженера / Цезаря)

ENRUPT шифрование

RTEA шифрование

Vigenere Plus (шифрование Виженера)

 

ARIA шифрование

Crypton шифрование

Шифрование Aes, Des, Плейфер

RSA шифрование через OpenSSL

 

Interbase Backup




Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте