Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Шифрование строки   Найти похожие ветки 

 
Slimer ©   (2007-07-11 15:11) [0]

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


 
Reindeer Moss Eater ©   (2007-07-11 15:11) [1]

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

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


 
Slimer ©   (2007-07-11 15:16) [2]

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


 
umbra ©   (2007-07-11 15:17) [3]

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


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

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


 
Slimer ©   (2007-07-11 15:20) [5]

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


 
Инс ©   (2007-07-11 16:30) [6]

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


 
palva ©   (2007-07-11 23:36) [7]

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.



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
2-1184651979
..::KraN::..
2007-07-17 09:59
2007.08.12
Безопасное извлечение Flash устройства


15-1184317254
TUser
2007-07-13 13:00
2007.08.12
Ошибка в 17й строке


3-1177505762
SerMaxx
2007-04-25 16:56
2007.08.12
Вопрос по Update полей через TQuery


3-1177705087
КрЫска
2007-04-28 00:18
2007.08.12
Символьные даннные из Oracle выдаются как #.


15-1184662508
boriskb
2007-07-17 12:55
2007.08.12
А ты годишься в учителя новейшей истории?