Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism MD5-Hash mit MD5CryptoServiceProvider berechnen? (https://www.delphipraxis.net/88462-md5-hash-mit-md5cryptoserviceprovider-berechnen.html)

Alexander 15. Mär 2007 18:43


MD5-Hash mit MD5CryptoServiceProvider berechnen?
 
Hallo DP'ler :),
ich habe schon ein wenig mit dem MD5CryptoServiceProvider rumprobiert und bin auch zu einem Ergebnis gekommen:

Delphi-Quellcode:
class function TUtils.CreateMD5Hash(s : String) : String;
var
  MD5CryptoServiceProvider : System.Security.Cryptography.MD5CryptoServiceProvider;
begin
  MD5CryptoServiceProvider := System.Security.Cryptography.MD5CryptoServiceProvider.Create;
  Result := System.Text.Encoding.Default.GetString(MD5CryptoServiceProvider.ComputeHash(System.Text.Encoding.Default.GetBytes(s)));
end;
Z.B. von der MySQL-Funktion md5 bin ich nur Zahlen und Buchstaben von a bis z gewohnt. Diese Funktion liefert z.B. für "hallo" (ohne Anführungsstriche) "YL a¸"£2…eÂ_|".
Kann man den MD5CryptoServiceProvider auch zu solch einem Format überreden?
Es muss nicht der gleiche Hash wie bei MySQL rauskommen, zumindest sollten aber die verwendeten Zeichen auf 0-9 und a-z beschränkt werden.

Ist das irgendwie möglich?

phXql 15. Mär 2007 18:55

Re: MD5-Hash mit MD5CryptoServiceProvider berechnen?
 
Code:
               MD5 md5 = new MD5CryptoServiceProvider();
               
               md5.Initialize();
               byte[] hash = md5.ComputeHash(File.ReadAllBytes(args[0]));
               string orgHash = "";
               foreach(byte piece in hash)
               {
                  orgHash += piece.ToString("x2");
               }
so habs ich gemacht..

Khabarakh 15. Mär 2007 19:00

Re: MD5-Hash mit MD5CryptoServiceProvider berechnen?
 
a bis z :shock: ? Sicher, dass du nicht die Hexadezimaldarstellung meinst :) ? Das ganze ist ja nur eine 128-Bit-Zahl, die direkte Umwandlung in einen String ergibt eben meistens nur Zeichensalat.

Die Umwandlung könntest du von Hand schreiben oder du benutzt das ultimative Seidenklopapier:
Code:
FormsAuthentication.HashPasswordForStoringInConfigFile()

Alexander 15. Mär 2007 19:09

Re: MD5-Hash mit MD5CryptoServiceProvider berechnen?
 
HashPasswordForStoringInConfigFile ist natürlich sehr cool :).

Hat das eigentlich irgendwelche Konsequenzen, dass FormsAuthentication in System.Web liegt?
(Ist ja keine Web-App mit ASP.NET).
Ich schätze aber, dass ist ein Namespace wie jeder andere auch :). Nech?
(Erscheint mir eigentlich als eine sehr dumme Frage :oops:)

Vielen Dank euch beiden,
Alexander


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