AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Passwort "endgültig" verschlüsseln

Ein Thema von ichbins · begonnen am 15. Aug 2005 · letzter Beitrag vom 16. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#1

Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 20:50
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:
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;
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?

//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.
Michael Enßlin
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 20:53
Ein sicheres, unkanckbares verfahren? Hier im Forum suchenOne Time Pad
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#3

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 20:53
Du brauchst einen Hier im Forum suchenHash Algorithmus.
Weitere Informationen: http://de.wikipedia.org/wiki/Hash
Lukas
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 21:06
Zitat von Tubos:
Du brauchst einen Hier im Forum suchenHash Algorithmus.
So ist es, da würde ich mal einen Blick in DEC riskieren und mich über MD5 und SHA schlaumachen. Leider sind Hashalgorithmen im Gegensatz zu dem von Dax angesprochenen Verfahren nicht unknackbar. Für Mathematiker ist es eine Herausforderung Kollisionen in solchen Algorithmen zu erzeugen und je nach Hashlänge kann auch eine sog. Rainbow Table das Problem lösen. Dies ist ein beschleunigtes (weil gecachtes) Brute-Force-Verfahren.

Rückrechnen kann man aber das Paßwort nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 21:12
Anstelle des DEC kannst Du auch die MD5 Funktion aus diesem Beitrag in der Code-Library eines ominösen Users benutzten.

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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#6

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 21:21
Zitat von Sharky:
Wenn Du die Unit um diese Funktion erweiterst kannst Du auch den MD5-Hash eines Strings erzeugen
Ich ging davon aus, man könnte diese hier benutzen: MD5_Hash_OverBuffer().

Aber wenn du meinst, würde ich mit einer kurzen Referenz auf dich das noch in die Unit einfügen. Sozusagen als "convenience function"
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 21:23
Vielleicht bin ich einfach nur zu blöd aber ich konnte bei keinem der Links was finden...
Hat nicht jemand eine Funktion oder so für mich?
Michael Enßlin
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 21:36
Zitat von ichbins:
Vielleicht bin ich einfach nur zu blöd aber ich konnte bei keinem der Links was finden...
Hat nicht jemand eine Funktion oder so für mich?
Dann gucke doch nochmal in den von Sharky genannten Beitrag. Ich werde die Unit gleich aktualisieren. Wenn du mir also ein paar Minuten gibst, hast du gleich Sharkys Funktion mit drin!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 21:48
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Passwort "endgültig" verschlüsseln

  Alt 15. Aug 2005, 21:52
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

Mit besten Grüssen,
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz