![]() |
Re: Passwort verschlüsseln, aber wie?
ciphers dagegen schon?
Benötigt man trotzdem beides? Auf diversen Seiten habe ich gelesen, dass einige zuerst Blowfish und dann SHA1 anwenden. Blowfish ist ein Cipher und SHA1 ein Hash-algo. Seh ich das richtig? Ist das dann nur zur weiteren Erhöhung der Sicherheit gemacht worden, dass beides verwendet wird? Für das Projekt ist jetzt nicht die allerhöchste Sicherheitsstufe notwendig, die Daten die damit geschützt werden sind jetzt nicht so wichtig, aber ich würde gerne mal eine "seriöse" Verschlüsselung verwenden und nicht etwas simples wie Caesar und co. Reicht es dann aus nur einen Cipher oder nur einen Hash zu benutzen? |
Re: Passwort verschlüsseln, aber wie?
SHA1 sollte reichen. du musst ja clientseitig das selbe machen, was der server macht:
Du hasht das eingegebene Passwort und sendest diesen an den Server Dieser vergleicht den Hash mit dem hinterlegten Hash. Diese stimmen natürlich nur dann überein, wenn beide den selben Algorithmus verwenden. |
Re: Passwort verschlüsseln, aber wie?
In dec sind 26 verschiedene Hash-Algorithmen und 30 Verschlüsselungsalgorithmen implementiert.
Für deine Anwendung ist ein Hash vermutlich völlig ausreichend - such dir einen von den 26 aus. |
Re: Passwort verschlüsseln, aber wie?
Ok,
also dann will ich meinen string mit SHA1 hashen. Wie gehe ich dazu vor? Benötige ich nur die Hash-Unit? Welche Funktionen,Prozeduren muss ich mit welchen Parametern aufrufen, damit ich am Ende meinen Hash habe? EDIT: Ich glaube, ich habe durch Probieren soeben den Stein der Weisen gefunden. Danke. |
Re: Passwort verschlüsseln, aber wie?
Also wie gesagt: Mein Passwort wird jetzt mit SHA1 gehasht und in einer DB abgelegt. Das klappt bis jetzt wunderbar.
Jetzt ist mir ein weiteres Problemchen klar geworden. Und zwar muss ich die Zugangsdaten zum Server in einer Datei speichern. Das funktioniert soweit auch, allerdings ist es nicht besonders ratsam das Zugangspassword in der .ini unverschlüsselt zu speichern. Ich brauche nun also einen Vershclüsselungsalgorithmus, der auch wieder entschlüsselt werden kann. Ich dachte mir, dass geht mit blowfish jetzt bestimmt ähnlich wie mit SHA1, aber leider ist dem nicht so. Ich bräuchte mal eine Erklärung der Prozeduren init und Encode/Decode der blowfish-Klasse. Was bedeuten die einzelnen Parameter und was muss ich da eintragen? MfG Woyzeck |
Re: Passwort verschlüsseln, aber wie?
Ich habe beim Stöbern im Forum verschiedene Beiträge zu den Ciphers aus der DEC gelesen. Häufig gab es dabei Funktionen wie "EncodeString". Bsp.:
![]() Gibt es diese Funktion in v5.2 nicht mehr, oder bin ich nur zu doof sie zu finden? Ich verzweifel so langsam an dem Problem, weil ich irgendwie nichts passendes finde. Helft mir bitte mal auf die Sprünge! |
Re: Passwort verschlüsseln, aber wie?
kann sein, daß dieser "Befehl" noch aus Version 3 stammt und jetzt anders heißt, bzw. anders implementiert ist.
eventuell findest du ja in neueren Beiträgen etwas dazu oder auch in diesem Thread, wo es um die letzte größere Umstellung ging: ![]() [add] ich glaub da gibt's interessante Threads :angel: ![]() > ![]() |
Re: Passwort verschlüsseln, aber wie?
Delphi-Quellcode:
function TfrmLogin.Encode(Was: string):String;
begin Was:=Was+Salt; with DECCipher.TCipher_Blowfish.Create do try Init('Passwort'); Result := EncodeBinary(Was, TFormat_HEX); finally Free; end; end; Ahh, ich bin glaube ich fündig geworden! Also wenn ich das richtig sehe, kann ich hiermit meinen String strText verschlüsseln. Entsprechend müsste ich ihn dann mit DecodeBinary wieder entschlüsseln können. Aber wie bekomme ich beim Decodieren das Salt-Ende wieder "ab"?
Delphi-Quellcode:
function TfrmLogin.Decode(Was: string):String;
begin with DECCipher.TCipher_Blowfish.Create do try Init('Passwort'); Result := DecodeBinary(Was, TFormat_HEX); finally Free; end; Result:=Result; //hier soll die Salt-Konstante entfernt werden end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 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