![]() |
'Sichere' ini-file
Hi Leute,
mich würde interessieren, wie ihr das machen würdet: Ich will in einer Ini-File meine Datenbankverbindung speichern - allerdings sollen die Daten nicht im Klartext da stehen - soll ja nich jeder gleich die Verbindungsdaten wissen. Wie würdest ihr das machen ? In einer gewöhnlichen IniFile und die Werte darin verschlüsseln ? Oder gibts da bereits irgendwas bestimmtes für solche Zwecke. Danke für eure Hilfe, gruß ben |
Re: 'Sichere' ini-file
Entweder Werte verschlüsseln und dann wieder entschlüsseln, oder die .INI Datei in eine passwortgeschützte ZIP Datei packen und beim Starten entpacken. Mehr Möglichkeiten fallen mir gerade nicht ein.
|
Re: 'Sichere' ini-file
Ich habe solch sensieble Daten immer binär verschlüsselt. Die Sache wird dann zwar immernoch nicht 100% Sicher, aber für die meistens Neugierigen bleiben die Daten dann trotzdem verborgen. Hier im Forum findest Du sicher den einen oder anderen guten Algo um Strings zu verschlüsseln.
|
Re: 'Sichere' ini-file
Danke für eure Antworten!
Denke ich werd dann eine gewöhnliche Ini-File nehmen und mir die sensiblen Daten mit Twofish o.ä. codieren. Falls einer einer eine super Methode hat wie er das macht - bin immer neugierig ;) Grüße, ben |
Re: 'Sichere' ini-file
vielleicht wäre ja
![]() |
Re: 'Sichere' ini-file
Ich hatte mal genau das selbe problem und hab folgendes gemacht:
Delphi-Quellcode:
wobei UBase64 die Base64-Unit
unit UClasses;
interface uses IniFiles, UBase64, SysUtils; type {***** TCryptedIniFile Abgeleitet von TIniFile XOR-Verschlüsselung Passwort speichern *****} TCryptedIniFile = class(TIniFile) private function Crypt(Value, Key: String): String; public function ReadPassword(Section: String; Ident: String; Default: String): String; procedure WritePassword(Section: String; Ident: String; Value: String); end; implementation function TCryptedIniFile.Crypt(Value, Key: String): String; var a,b: integer; begin b:=1; for a := 1 to Length(Value) do begin Value[a]:=Chr(Ord(Value[a]) xor Ord(Key[b])); inc(b); if b > length(Key) then b:=1; end; Result:=Value; end; function TCryptedIniFile.ReadPassword(Section: String; Ident: String; Default: String): String; var S: String; begin S:=ReadString(Section,Ident,''); if S='' then Result:=Default else Result:=Crypt(Crypt(Base64Decode(ReadString(Section,Ident,Default)),Section),Ident); end; procedure TCryptedIniFile.WritePassword(Section: String; Ident: String; Value: String); begin WriteString(Section,Ident,Base64Encode(Crypt(Crypt(Value,Section),Ident))); end; end. ![]() PS: wie sicher das ganze verschlüsselt ist: Keine Ahnung ^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz