Hallo ich habe ein Verschlüsselungsalgorithmus in einer separaten
Unit gespeichert, die ich Crypt genannt habe. Diese enthält am Ende die Funktionen Encode und Decode, soweit so gut.
in meiner Hauptform habe ich sie auch deklariert:
uses Crypt;
im laufe des Programmes greife ich auf eine Abfrage zu, die ich in einer Ini-Datei abspeicher.
Diese sieht wie folgt aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ini : TIniFile;
begin
ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+ 'key.ini');
if Edit1.Text = Edit2.Text then
begin
ini.WriteString('Text', 'Key', Edit2.Text);
ShellExecute(Application.Handle, 'open', 'winver.exe',nil,nil,SW_SHOW);
Form1.Close;
end
else
Label1.Caption := 'klappt nicht';
ini.free;
hinzu habe ich noch eine Funktion beim Aufruf des hauptprogrammes gleich in der Form:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var ini : TIniFile;
P: String;
begin
Edit2.Text := '';
Label1.Caption := '';
Label2.Caption := '';
ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'key.ini');
P := Ini.ReadString('Text', 'Key', Edit2.Text);
if Edit1.Text = P then
begin
ShellExecute(Application.Handle, 'open', 'winver.exe',nil,nil,SW_SHOW);
Application.Terminate();
end;
end;
nun will ich wenn, key.ini noch keine Inhalte hat und erst durch Button1.Click erstellt wird,
diese gleich verschlüsseln mit der Encode-Funktion der Crypt.Unit, jedoch weiss ich nicht wie ich dies anstellen soll, denn wenn ich Encode schreibe kommt der Fehler, dass Encode nicht deklariert ist, obwohl ich ja in der Crypt.Unit folgendes habe:
Delphi-Quellcode:
function Encode(const Value, Password: String): String;
begin
Result := BinToHexStr(RC4Code(Value, Password));
end;
somit ist Encode da nur ich weiss eben nicht wie ich es ausführen soll. Encode soll den Eintrag aus Edit2.Text nehmen und verschlüsseln und erst dann soll die key.ini erstellt werden mit eben dem verschlüsseltem Inhalt.
Das gleiche gilt für den Decode-Befehl den ich dann im FormCreate aufrüfen würde um zuerst das Edit2.Text Feld aus der key.ini Datei zu entschlüsseln und dann erst übergeben.
Hoffe jemand kann mir weiterhelfen. Bitte mit Quellcode
[edit=Sharky]Quote-Tags durch Delphi-Tags ersetzt. Mfg, Sharky[/edit]