Einzelnen Beitrag anzeigen

-Ralf-

Registriert seit: 4. Aug 2005
Ort: Baiersbronn
16 Beiträge
 
Delphi XE3 Professional
 
#7

Re: Username Paßwort nicht im Klartext im Programm Prinzipfr

  Alt 1. Jan 2009, 17:39
Hy,
es gibt natürlich super gute und sichere Verfahren. Für einfache Dinge kannst du aber das hier verwenden...

Hier ein kleiner Schnipsel, wie du mi Hilfe einer INI-Datei die Daten auf dem Server hinerlegen kann. Der Nutzer / sein Programm holt sich zunächst diese Datei und entnimmt ihr dann den eigentlichen Zugang. Danach kann man die Datei auf dem Anwender-PC auch gleich wieder löschen.
Ich verwende das seit einiger Zeit.


// hiermit kannst du eine INI-Datei herunterladen, die den verschlüsselten Zugang enthält:
var i : integer;
s : string[255];
c : array[0..255] of byte absolute s;
begin
// Zuerst "update.ini" abholen...
if not GetURLFile('http://www.TestInternetSeite/update.ini','c:\TestProgramm\Update.ini') then
begin
StatusBar_Updates.SimpleText := '>> kein Internet vorhanden';
screen.Cursor := crDefault;
exit;
end;
UpdateIni := TIniFile.Create('c:\TestProgramm\Update.ini');
// INI-Datei auslesen:
s := UpdateIni.readstring('FTPZugang','User','');
For i := 1 To ord(s[0]) do c[i] := 5 Xor c[i];
IdFTP1.Username := s;
StatusBar_Updates.SimpleText := 'User eintragen...';
s := UpdateIni.readstring('FTPZugang','Pass','');
For i := 1 To ord(s[0]) do c[i] := 5 Xor c[i];
IdFTP1.Password := s;
StatusBar_Updates.SimpleText := 'Passwort eintragen...';
s := UpdateIni.readstring('FTPZugang','Home','');
For i := 1 To ord(s[0]) do c[i] := 5 Xor c[i];
IdFTP1.Host := s;
StatusBar_Updates.SimpleText := 'Host eintragen...';
// Verbindung zum Server aufbauen
Try
IdFTP1.Disconnect;
IdFTP1.Connect;
except
IdFTP1.Disconnect;
StatusBar_Updates.SimpleText := 'Vorgang abgebrochen!';
showmessage('Der Vorgang musste abgebrochen werden! Verfügen Sie über eine funktionierende Internetverbindung? Oder unterbindet Ihre Firewall dem Programm auf das Internet zuzugreifen? Versuchen Sie es evtl. nochmals...');
screen.Cursor := crDefault;
exit;
end;


// So kannst du die INI-Datei erstellen - ich verwende dazu ein Memo-Feld...

// INI-Datei erstellen und speichern
Memo_AufbauBearbeiten.Clear;
Memo_AufbauBearbeiten.lines.add('[FTPZugang]');
s := 'TestInternetSeite.de';
For i := 1 To ord(s[0]) do c[i] := 5 Xor c[i];
Memo_AufbauBearbeiten.lines.add('Home=' + s);
s := 'p36288807';
For i := 1 To ord(s[0]) do c[i] := 5 Xor c[i];
Memo_AufbauBearbeiten.lines.add('User=' + s);
s := 'deborars';
For i := 1 To ord(s[0]) do c[i] := 5 Xor c[i];
Memo_AufbauBearbeiten.lines.add('Pass=' + s);
Memo_AufbauBearbeiten.lines.SaveToFile('c:\Testpro gramm\Update.ini');
//INI-Datei jetzt hochladen...
Ralf S.
  Mit Zitat antworten Zitat