Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Шифрование строки [D7, XP]


Slimer ©   (2007-07-11 15:11:00) 

Скажите пожалуста, в чем смысл компонентов на странице Indy Misc предназначенных для шифрования, если можно взять зашифрованную строку и без всяких проблемм обратной функцией Decode расшифровать?
Паролей для шифрования не предусмотрены насколько я понял...


palva   (2007-07-11 23:36:00) [1]

RC4 устроит?

program Project5;

{$APPTYPE CONSOLE}

uses
 SysUtils;

type
 RC4KEY = record
   state: array [0..255] of byte;
   x, y: byte;
 end;

procedure rc4ExpandKey(var rc4: RC4KEY; key: string);
var
 sx, y, x: Byte;
 keypos, keylen: Integer;
begin
 for x := 0 to 255 do rc4.state[x] := x;
 rc4.x := 0;
 rc4.y := 0;
 keypos := 1;
 keylen := length(key);
 y := 0;
 for x := 0 to 255 do begin
   sx := rc4.state[x];
   y := (y + sx + ord(key[keypos])) And 255;
   rc4.state[x] := rc4.state[y];
   rc4.state[y] := sx;
   Inc(keypos);
   if  keypos > keylen then keypos := 1;
 end;
end;

procedure rc4Crypt(var rc4: RC4KEY; var data: String);
var
 x, y, sx, sy: Byte;
 pos, len: Integer;
begin
 x := rc4.x;
 y := rc4.y;
 len := length(data);
 for pos := 1 to len do begin
   x := x + 1;
   sx := rc4.state[x];
   y := y + sx;
   sy := rc4.state[y];
   rc4.state[y] := sx;
   rc4.state[x] := sy;
   data[pos] := char(ord(data[pos]) XOR (rc4.state[( sx+sy ) And 255]));
 end;
 rc4.x := x;
 rc4.y := y;
end;

// And now testing
var
 s, k: String;
 rc4: RC4KEY;
begin
 // encrypting
 rc4ExpandKey(rc4, 'testing-key-1234567890');
 s := 'Open text for encoding';
 rc4Crypt(rc4, s);
 WriteLn(s);
 // decrypting
 rc4ExpandKey(rc4, 'testing-key-1234567890');
 rc4Crypt(rc4, s);
 WriteLn(s);
 ReadLn;
end.


Инс   (2007-07-11 16:30:00) [2]

Поиск в гугле по ключевому слову CryptoAPI


Slimer   (2007-07-11 15:20:00) [3]

Ага. Понятно.
Тогда может подскажите какие-то методы для шифрования строк(и)? Может есть какие-то компоненты?


Reindeer Moss Eater   (2007-07-11 15:18:00) [4]

Ни один из них не предназначен для шифрования.


umbra   (2007-07-11 15:17:00) [5]

они не для шифрования. Они для того, чтобы, например, в эл. письмах можно было использовать произвольные символы, цеплять аттачи и т.д.


Slimer   (2007-07-11 15:16:00) [6]

Я имею ввиду не все компоненты с это страницы, а например:
TIdEncoderMIME и TIdDecoderMIME
TIdEncoderUUE и ТIdDecoderUUE
ТIdEncoderXXE и ТIdDecoderXXE


Reindeer Moss Eater   (2007-07-11 15:11:00) [7]

предназначенных для шифрования

Кто тебе такое сказал?


Наверх

Титульная страница Поиск, карта сайта Написать письмо