Текущий архив: 2002.07.15;
Скачать: CL | DM;
ВнизШифрование Найти похожие ветки
← →
ivlex (2002-06-29 10:30) [0]Нужно зашифровать строку типа string. Просьба помочь кодом.
← →
alena.svt (2002-06-29 12:02) [1]Сверху ссылочка !
UBPFD- Единая база данных....
Вот на нее и кликни.
← →
Anatoly Podgoretsky (2002-06-29 12:16) [2]S[i] := Char(Byte(S[i]) xor XX)
← →
Danger (2002-06-29 14:28) [3]var
s: string;
procedure Code(var text: string; password: string;
decode: boolean);
var
i, PasswordLength: integer;
sign: shortint;
begin
PasswordLength := length(password);
if PasswordLength = 0 then Exit;
if decode
then sign := -1
else sign := 1;
for i := 1 to Length(text) do
text[i] := chr(ord(text[i]) + sign *
ord(password[i mod PasswordLength + 1]));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
s := Memo1.Text;
code(s, Edit1.Text, false);
Memo1.Text := s;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
code(s, Edit1.Text, true);
Memo1.Text := s;
end;
← →
MARcoDEN (2002-06-29 20:13) [4]Вот мой пример шифрования и дешифрования текста с использованием пароля на WinAPI:
Процедура шифрования текста, расположенного в hEdit, используя пароль hPW
procedure Encrypt;
var
x,i,
sText,sPW: Integer;
Text,PW: PChar;
begin
sText:=GetWindowTextLength(hEdit)+1;
sPW:=GetWindowTextLength(hPW)+1;
GetMem(Text,sText);
GetMem(PW,sPW);
GetWindowText(hEdit,Text,sText);
GetWindowText(hPW,PW,sPW);
x:=0; // initialize count
for i:=0 to sText-2 do
begin
Text[i]:=Chr(Ord(Text[i])+Ord(PW[x]));
Inc(x);
if x=(sPW-1)then x:=0;
end;
SetWindowText(hEdit,Text);
FreeMem(Text);
FreeMem(PW);
end;
Процедура дешифрования текста
procedure Decrypt;
var
x,i,
sText,sPW: Integer;
Text,PW: PChar;
begin
sText:=GetWindowTextLength(hEdit)+1;
sPW:=GetWindowTextLength(hPW)+1;
GetMem(Text,sText);
GetMem(PW,sPW);
GetWindowText(hEdit,Text,sText);
GetWindowText(hPW,PW,sPW);
x:=0; // initialize count
for i:=0 to sText-2 do
begin
Text[i]:=Chr(Ord(Text[i])-Ord(PW[x]));
Inc(x);
if x=(sPW-1)then x:=0;
end;
SetWindowText(hEdit,Text);
FreeMem(Text);
FreeMem(PW);
end;
Страницы: 1 вся ветка
Текущий архив: 2002.07.15;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.017 c