Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизШифрование строки Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c