![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Шифрование строки [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]предназначенных для шифрования
Кто тебе такое сказал?