![]() |
Passwort "endgültig" verschlüsseln
Hallo allerseits, ich wollte fragen, ob es eine Möglichkeit gibt, ein Passwort entgültig zu verschlüsseln, so dass es nur noch durch Ausprobieren erraten werden kann und mit keinem anderen Algorithmus auf dieser Welt geknackt werden kann?
Ich habe schon die Möglichkeit gefunden, dass das Passwort per XOR mit sich selbst verschlüsselt wird:
Delphi-Quellcode:
aber ich denke einmal das das von jedem Halb-Profi geknackt werden kann, wenn er erst einmal diese Funktion kennt, weil da ja so viele Wiederholungen drin sind. Aber z.B. MSWord kann das ja auch und ich kann dann das Passwort nicht wieder kriegen ohne das ich es (mit oder ohne Software) errate. Das muss doch irgendwie gehen?
function encode(password:string):string;
var i:integer; begin result:=''; for i:=1 to length(password) do result:=result+char(byte(password[i]) xor byte(password[length(password)-i+1])); end; //Überprüfen damit: function pwisok(encodedpassword,edit:string):string; var i:integer; begin result:=length(encodedpassword)=length(edit); if not result then exit; for i:=1 to length(encodedpassword) do result:=result and (encodedpassword[i]=char(byte(edit[i]) xor byte(edit[length(edit)-i+1]))); end; //edit: ich glaube das passt in keine andere Kategorie, aber wenn doch verschiebt es bitte in die richtige. //edit2: nach allden Antworten die sich seit gestern angesammelt haben glaube ich das ich mich doch falsch ausgedrückt habe: Ich will mit dem Passwort keine Daten verschlüsseln sondern ein Logon absichern. Bisher konnte ich das Passwort nur in einer INI-Datei als String speichern. |
Re: Passwort "endgültig" verschlüsseln
Ein sicheres, unkanckbares verfahren?
![]() |
Re: Passwort "endgültig" verschlüsseln
|
Re: Passwort "endgültig" verschlüsseln
Zitat:
Rückrechnen kann man aber das Paßwort nicht. |
Re: Passwort "endgültig" verschlüsseln
Anstelle des DEC kannst Du auch die MD5 Funktion aus diesem
![]() Wenn Du die Unit um diese Funktion erweiterst kannst Du auch den MD5-Hash eines Strings erzeugen:
Delphi-Quellcode:
function MD5_HashForString(aValue: string): TMD5Digest;
var Context: TMD5_CTX; begin MD5Init(Context); MD5Update(Context, PChar(aValue), Length(aValue)); MD5Final(Context, Result); end; |
Re: Passwort "endgültig" verschlüsseln
Zitat:
Aber wenn du meinst, würde ich mit einer kurzen Referenz auf dich das noch in die Unit einfügen. Sozusagen als "convenience function" :mrgreen: |
Re: Passwort "endgültig" verschlüsseln
Vielleicht bin ich einfach nur zu blöd aber ich konnte bei keinem der Links was finden... :wall:
Hat nicht jemand eine Funktion oder so für mich? |
Re: Passwort "endgültig" verschlüsseln
Zitat:
![]() |
Re: Passwort "endgültig" verschlüsseln
Und damit Du auch gleich etwas damit machen kannst ;-)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var md5_digi: TMD5Digest; // Ein 16 Byte grossen Array = 128 Bit; passwort: string; md5_hexstring: string; begin passwort := 'blubb'; md5_digi := MD5_HashForString(passwort); // Ereugt den Hash md5_hexstring := MD5_Hash2String(md5_digi); // Wandelt die 128 Bit ein einen HEX-String; ShowMessage(md5_hexstring); end; |
Re: Passwort "endgültig" verschlüsseln
Habe es aktualisiert und Sharkys Funktion aufgenommen. Da Sharky eigentlich nichtmal erwähnt werden wollte, und ich keinen Grund sehe selber erwähnt werden zu müssen, nur weil ich eine eigene Übersetzung des C-Codes liefere, habe ich es als PUBLIC DOMAIN deklariert. Niemand wird also je von dir verlangen einen von uns zu erwähnen ;) ... es sei denn, der Hai beißt nochmal zu :mrgreen:
Mit besten Grüssen, |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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