Probleme mit MD5 Hashing

16/02/2009 - 20:07 von gruss.an | Report spam
Hallo!

Ich bin gerade màchtig am verzweifeln.

In einem Geo-Caching liegt eine geografische Koordinate als MD5 Hash
vor.
Teile dieser sind bereits bekannt. Aber das nur am Rande.

Jetzt hat der Autor dieses Cachings einige Test-Hashes erzeugt anhand
derer
man checken kann ob der genutzte MD5 Encoder den Passenden Output
erzeugt.

Mit einem einzelnen Leerzeichen als Zeichenkette funktioniert meine
MD5 Methode auch so wie erwartet.

Die Vorgabe des Autors ist hier:
" " hat den Hash 7215ee9c7d9dc229d2921a40e899ec5f

Sobald ich aber einen der folgenden Strings nutze stimmt der Hash
nicht mehr:

N00 00.000' E000 00.000'
soll folgenden Hash liefern: 139988a62929ab73381840128bf87843
N51 02.123' E013 46.456'
soll folgenden Hash liefern: f3e67ad56ec695fc0cad5dada7231f30

Doch leider versage ich hier irgendwie total. Folgender Code wird
genutzt:

private static string MD5(string str)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider
();
Encoding ue = new UTF8Encoding(false);
string res = GetHexString(md5.ComputeHash(ue.GetBytes
(str)));
md5.Clear();
return res;
}
private static string GetHexString(byte[] byteArray)
{
StringBuilder sb = new StringBuilder(40);
foreach (byte bValue in byteArray)
{
sb.AppendFormat(
CultureInfo.CurrentCulture,
bValue.ToString("x2",
CultureInfo.CurrentCulture).ToLower(CultureInfo.CurrentCulture)
);
}
return sb.ToString();
}

Das gibt immer Andere Werte aus als die geforderten. Kann mir dabei
jemand vieleicht behilflich sein?

Danke!
 

Lesen sie die antworten

#1 Frank Dzaebel
16/02/2009 - 21:26 | Warnen spam
Hallo,

Encoding ue = new UTF8Encoding(false);



Strings sind in .NET im UTF16-Encoding, also nimm
besser mal "Encoding.Unicode".
Hier etwas zum Abschauen:

[SteveX Compiled » C# Code Snippet: Creating an md5 hash string.]
http://blog.stevex.net/index.php/c-...sh-string/

Wobei die Zeilen mit dem [ToString("X2")] ggf. auch einfach
mit BitConverter.ToString(ba); (zum besseren Überblick)
ersetzbar sind.
_____________

BTW ggf. interessant ...

[MD5 Checker]
http://dzaebel.net/Downloads/MD5%20Checker.zip


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen