Einzelnen Beitrag anzeigen

gunter

Registriert seit: 29. Aug 2003
7 Beiträge
 
#1

Verschlüsselung einigermaßen sicher?

  Alt 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;
  Mit Zitat antworten Zitat