Hi,
ich hab ein Problem und zwar habe ich ein Webservice und eine Windowsforms Anwendung, die auf den Webservice zugreift.
Die WindowsForms-Anwendung erzeugt einen MD5-Hash von einem PW (nehmen wir als Beispiel "test") => C8059E2EC7419F590E79D7F1B774BFE6
...using System.Security.Cryptography;
Der Webservice allerdings berechnet sich einen eigenen MD5-Hash => 098F6BCD4621D373CADE4E832627B4F6
...System.Web.FormsAuthentication.HashPasswordForStoringInConfigFile("test", "MD5");
Dass die beiden Werte NICHT gleich sind, ist auf den ersten Blick zu sehen, aber WARUM? Ich dachte immer MD5 ist MD5... wie können da bei dem selben Wort unterschiedliche Hash-Codes entstehen?
Die beiden Eingaben sind auch 1:1 gleich, d.h. keine Leerzeichen vor oder hinter dem Wort...
Wäre nett, wenn mir das jem. erklären kann oder eine Lösung weiß, wie die dann gleich sind...
Achja, in der WindowsForms-Anwendung ebenfalls System.Web.FormsAut... zu nutzen geht leider nicht, weil er FormsAuthentification nicht in System.Web findet (sagt er zumindest )
[EDIT]
Allerdings geht "System.Security.Cryptography" in dem Webservice zu verwenden und dann sind die Werte auch gleich, aber trotzdem bleibt die Frage: "Warum ist MD5 nicht gleich MD5?"
Achja, warum ich es trotzdem gepostet hab ist, weil ich jetzt über 1h nach dem Problem gesucht habe (bis ich rausgefunden habe, dass ich kein Fehler begangen hab) und anderen dies ersparen möchte, falls sie die Suchfunktion verwenden *fg*
[/EDIT]
MfG Scherbe
ich hab ein Problem und zwar habe ich ein Webservice und eine Windowsforms Anwendung, die auf den Webservice zugreift.
Die WindowsForms-Anwendung erzeugt einen MD5-Hash von einem PW (nehmen wir als Beispiel "test") => C8059E2EC7419F590E79D7F1B774BFE6
...using System.Security.Cryptography;
Der Webservice allerdings berechnet sich einen eigenen MD5-Hash => 098F6BCD4621D373CADE4E832627B4F6
...System.Web.FormsAuthentication.HashPasswordForStoringInConfigFile("test", "MD5");
Dass die beiden Werte NICHT gleich sind, ist auf den ersten Blick zu sehen, aber WARUM? Ich dachte immer MD5 ist MD5... wie können da bei dem selben Wort unterschiedliche Hash-Codes entstehen?
Die beiden Eingaben sind auch 1:1 gleich, d.h. keine Leerzeichen vor oder hinter dem Wort...
Code:
/MD5
string Wert = "test";
UnicodeEncoding UE = new UnicodeEncoding();
byte[] HashValue, MessageBytes = UE.GetBytes(Wert);
MD5 md5 = new MD5CryptoServiceProvider();
string strHex = "";
HashValue = md5.ComputeHash(MessageBytes);
foreach(byte b in HashValue)
{
strHex += String.Format("{0:x2}", b);
}
txtMD5Hash.Text = strHex.ToUpper();
Wäre nett, wenn mir das jem. erklären kann oder eine Lösung weiß, wie die dann gleich sind...
Achja, in der WindowsForms-Anwendung ebenfalls System.Web.FormsAut... zu nutzen geht leider nicht, weil er FormsAuthentification nicht in System.Web findet (sagt er zumindest )
[EDIT]
Allerdings geht "System.Security.Cryptography" in dem Webservice zu verwenden und dann sind die Werte auch gleich, aber trotzdem bleibt die Frage: "Warum ist MD5 nicht gleich MD5?"
Achja, warum ich es trotzdem gepostet hab ist, weil ich jetzt über 1h nach dem Problem gesucht habe (bis ich rausgefunden habe, dass ich kein Fehler begangen hab) und anderen dies ersparen möchte, falls sie die Suchfunktion verwenden *fg*
[/EDIT]
MfG Scherbe
Zuletzt bearbeitet: