ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
26912
26912
EMPFEHLEN
-
16.03.04 09:00 #1
Guten morgen,
ich habe eine Frage, und zwar handeln es sich dabei um eine Verschlüsselung von Passwörtern. Gibt es in C# auch eine Funktion die einen String verschlüsseltn (wie z.B. md5() in PHP). Jedoch sollte es auch möglich sein der Verschlüsselten String wieder zurückzusetzten (wieder das Original erhalten).
Gibt es sowas in C#? Oder hat jemand eine gute Verschlüsselung selber gemacht welche ich brauchen könnte?
MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
Vielleicht hilft dir das weiter:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
private void HashMD5_Click(object sender, System.EventArgs e) { Chilkat.Crypt crypt = new Chilkat.Crypt(); crypt.UnlockComponent("TempCode"); // Generate some byte data. byte[] inData = new byte[1000]; int i; for (i=0; i<1000; i++) { inData[i] = Convert.ToByte(i % 255); } // Create an MD5 hash. byte[] hash = crypt.DigestMD5(inData); // We cannot display binary data, so convert it // to Base64 and display. textBox1.Text = crypt.EncodeBase64(hash); }
mfg
Nitro
-
16.03.04 11:17 #3
Soviel ich bis jetzt bitbekommen habe ist Chilkat eine ActiveX-Komponente welche auf dem Server isntalliert sein muss?! Ich kann da aber leider nichts installieren...
MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
16.03.04 11:41 #4
Ich konnte es mit folgenden Methoden lösen:
Vielen Dank trotzdem für deine AntowortPHP-Code:public static string EncryptMessage(string plainMessage, string password)
{
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.IV = new byte[8];
PasswordDeriveBytes pdb = new PasswordDeriveBytes(password, new byte[0]);
des.Key = pdb.CryptDeriveKey("RC2", "MD5", 128, new byte[8]);
MemoryStream ms = new MemoryStream(plainMessage.Length * 2);
CryptoStream encStream = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
byte[] plainBytes = Encoding.UTF8.GetBytes(plainMessage);
encStream.Write(plainBytes, 0, plainBytes.Length);
encStream.FlushFinalBlock();
byte[] encryptedBytes = new byte[ms.Length];
ms.Position = 0;
ms.Read(encryptedBytes, 0, (int)ms.Length);
encStream.Close();
return Convert.ToBase64String(encryptedBytes);
}
public static string DecryptMessage(string encryptedBase64, string password)
{
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.IV = new byte[8];
PasswordDeriveBytes pdb = new PasswordDeriveBytes(password, new byte[0]);
des.Key = pdb.CryptDeriveKey("RC2", "MD5", 128, new byte[8]);
byte[] encryptedBytes = Convert.FromBase64String(encryptedBase64);
MemoryStream ms = new MemoryStream(encryptedBase64.Length);
CryptoStream decStream = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
decStream.Write(encryptedBytes, 0, encryptedBytes.Length);
decStream.FlushFinalBlock();
byte[] plainBytes = new byte[ms.Length];
ms.Position = 0;
ms.Read(plainBytes, 0, (int)ms.Length);
decStream.Close();
return Encoding.UTF8.GetString(plainBytes);
}
MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
Hallo:
Hier ist nen Ausführlicher beitrag zur Verschlüßelung von dot.Net in Deutsch:
SDH
Chris
-
27.07.05 13:02 #6
Folgende Klasse liefert exakt das selbe Ergebnis wie die php Methode:
php:
Code :1
md5($passwort)
c#
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
public static string MD5(string password) { byte[] textBytes = System.Text.Encoding.Default.GetBytes(password); try { System.Security.Cryptography.MD5CryptoServiceProvider cryptHandler; cryptHandler = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] hash = cryptHandler.ComputeHash (textBytes); string ret = ""; foreach (byte a in hash) { if (a<16) ret += "0" + a.ToString ("x"); else ret += a.ToString ("x"); } return ret ; } catch { throw; } }
mfg
MichiDon't hang and loose but run and win!
Ähnliche Themen
-
Verschlüsselung
Von melmager im Forum Linux & UnixAntworten: 4Letzter Beitrag: 09.02.08, 08:21 -
RSA-Verschlüsselung
Von Azi im Forum Security (Viren, Trojaner, Spam)Antworten: 5Letzter Beitrag: 30.12.07, 13:05 -
MD5 Verschlüsselung
Von server im Forum PHPAntworten: 3Letzter Beitrag: 21.09.06, 09:01 -
MD5 Verschlüsselung.
Von soa im Forum PHPAntworten: 15Letzter Beitrag: 30.06.06, 09:23 -
Verschlüsselung ?!!
Von LoMo im Forum PHPAntworten: 17Letzter Beitrag: 13.04.05, 15:19





Zitieren
Login





