Registriert seit: 29. Aug 2003
7 Beiträge
|
Verschlüsselung einigermaßen sicher?
30. Aug 2003, 19:44
Hi,
hab in einem Programm von mir folgende Funktionen zum Verschlüsseln von Daten verwendet, könnt ihr mir sagen, ob das einigermaßen sicher ist oder total leicht geknackt werden kann, schonmal vielen Dank.
im Hauptprogramm
Delphi-Quellcode:
var prod: string;
function ver(s, prod: shortstring): shortstring; external 'database.dll';
function ent(s, prod: shortstring): shortstring; external 'database.dll';
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i, x: integer;
begin
for i:=3 to 111 do
begin
x:=i or round(sqrt(sqr(i)*power(1.5634,i)));
x:=x mod 99;
prod:=prod+char(x);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var s, verschl: string;
begin
s:='Dies ist der Teststring';
verschl:=ver(s, prod);
showmessage('Verschlüsselt: '+verschl);
showmessage('Wieder entschlüsselt: '+ent(verschl, prod));
end;
in der DLL:
Delphi-Quellcode:
function num(i: integer; prod: shortstring): integer;
begin
i:=floor(power(sqrt(i*3),3)) mod 128;
if i>length(prod) then i:=2*length(prod)-i;
i:=13 xor ord(prod[i]);
if i>100 then i:=ceil(sqrt(i/0.8));
result:=i;
end;
function ver(s, prod: shortstring): shortstring; export;
var i: integer;
begin
for i:=1 to length(s) do s[i]:=char(num(i, prod) Xor Ord(s[i])+1);
result:=s;
end;
exports
ver;
function ent(s, prod: shortstring): shortstring; export;
var i: integer;
begin
for i:=1 to length(s) do s[i]:=char(num(i, prod) Xor (ord(s[i])-1));
result:=s;
end;
exports
ent;
|
|
Zitat
|