Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy 10 Ersatz für TIdHash128.AsHex(HashValue(aPassword)) (https://www.delphipraxis.net/172194-indy-10-ersatz-fuer-tidhash128-ashex-hashvalue-apassword.html)

QuickAndDirty 18. Dez 2012 09:18

Indy 10 Ersatz für TIdHash128.AsHex(HashValue(aPassword))
 
Hallo,
leider dachte ich mir irgendwann mal Copy&Paste und läuft...
ohne je zu verstehen was der Code gemacht hat.
Konkret geht es um die indy 9 funktion
Delphi-Quellcode:
TIdHash128.AsHex(HashValue(aPassword))
habe das dann so wie unten zu sehen in mein Programm integriert...
Delphi-Quellcode:
Function EncodePassword(aPassword:string):String;
Begin
  with TIdHashMessageDigest5.Create do
  try
    Result := TIdHash128.AsHex(HashValue(aPassword));
    Result := TIdHash128.AsHex(HashValue(Result));
    Result := TIdHash128.AsHex(HashValue(Result));
    Result := TIdHash128.AsHex(HashValue(Result));
    Result := TIdHash128.AsHex(HashValue(Result));
    Result := TIdHash128.AsHex(HashValue(Result));
  finally
    Free;
  end;
End;
Bin dann von Indy9 auf Indy10 in delphi2007
umgestiegen und vermisse einen Ersatz für die Funktion.

Wo finde ich den Ersatz in Indy 10 ?

QuickAndDirty 18. Dez 2012 09:59

AW: Indy 10 Ersatz für TIdHash128.AsHex(HashValue(aPassword))
 
Ich teste es jetzt mit
Delphi-Quellcode:
HashStringAsHex(aPassword)
aus.
Leider lässt sich nicht feststellen wieviel Bit der Schlüssel misst...

Delphi-Quellcode:
Function EncodePassword(aPassword:string):String;
Begin
  with TIdHashMessageDigest5.Create do
  try
    Result := HashStringAsHex(aPassword);
    Result := HashStringAsHex(Result);
    Result := HashStringAsHex(Result);
    Result := HashStringAsHex(Result);
    Result := HashStringAsHex(Result);
    Result := HashStringAsHex(Result);
  finally
    Free;
  end;
End;
mal sehen was dabei rauskommt.

Blup 18. Dez 2012 10:48

AW: Indy 10 Ersatz für TIdHash128.AsHex(HashValue(aPassword))
 
Das sollte doch ein MD5 sein, also 128 Bit.

Warum wird den die Funktion überhaupt mehr als einmal aufgerufen, der Hashwert wird dadurch nicht besser. Wenn mann das Passwort verschleiern will, gibt man etwas "Salt" dazu.
http://de.wikipedia.org/wiki/Salt_%28Kryptologie%29

QuickAndDirty 18. Dez 2012 10:56

AW: Indy 10 Ersatz für TIdHash128.AsHex(HashValue(aPassword))
 
Zitat:

Zitat von Blup (Beitrag 1195885)
Das sollte doch ein MD5 sein, also 128 Bit.

Warum wird den die Funktion überhaupt mehr als einmal aufgerufen, der Hashwert wird dadurch nicht besser. Wenn mann das Passwort verschleiern will, gibt man etwas "Salt" dazu.
http://de.wikipedia.org/wiki/Salt_%28Kryptologie%29

Na gegen Rainbow-Tabellen ist es dann besser geeignet, vorausgesetzt die wissen nicht wie oft das den Codierungs Algorythmus durchläuft.
Werde die Idee mit dem Salt dennoch hinzufügen! Auch wenn es insgesamt etwas wie Overkill wirkt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 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