tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
26912
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von aquasonic
    aquasonic aquasonic ist offline Mitglied Brillant
    Registriert seit
    Jan 2004
    Ort
    Schweiz :: Bern
    Beiträge
    942
    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

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    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
     

  3. #3
    Avatar von aquasonic
    aquasonic aquasonic ist offline Mitglied Brillant
    Registriert seit
    Jan 2004
    Ort
    Schweiz :: Bern
    Beiträge
    942
    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

  4. #4
    Avatar von aquasonic
    aquasonic aquasonic ist offline Mitglied Brillant
    Registriert seit
    Jan 2004
    Ort
    Schweiz :: Bern
    Beiträge
    942
    Ich konnte es mit folgenden Methoden lösen:

    PHP-Code:
    public static string EncryptMessage(string plainMessagestring 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(msdes.CreateEncryptor(), CryptoStreamMode.Write);
                
    byte[] plainBytes Encoding.UTF8.GetBytes(plainMessage);
                
    encStream.Write(plainBytes0plainBytes.Length);
                
    encStream.FlushFinalBlock();
                
    byte[] encryptedBytes = new byte[ms.Length];
                
    ms.Position 0;
                
    ms.Read(encryptedBytes0, (int)ms.Length);
                
    encStream.Close();
                return 
    Convert.ToBase64String(encryptedBytes);
            }
            
            public static 
    string DecryptMessage(string encryptedBase64string 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(msdes.CreateDecryptor(), CryptoStreamMode.Write);
                
    decStream.Write(encryptedBytes0encryptedBytes.Length);
                
    decStream.FlushFinalBlock();
                
    byte[] plainBytes = new byte[ms.Length];
                
    ms.Position 0;
                
    ms.Read(plainBytes0, (int)ms.Length);
                
    decStream.Close();
                return 
    Encoding.UTF8.GetString(plainBytes);
            } 
    Vielen Dank trotzdem für deine Antowort
     
    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

  5. #5
    XChris XChris ist offline Mitglied Brokat
    Registriert seit
    Sep 2003
    Ort
    Weimar
    Beiträge
    373
    Hallo:

    Hier ist nen Ausführlicher beitrag zur Verschlüßelung von dot.Net in Deutsch:

    SDH

    Chris
     

  6. #6
    Avatar von MichiStroi
    MichiStroi MichiStroi ist offline Mitglied Gold
    Registriert seit
    Apr 2004
    Ort
    Seebenstein (NÖ)
    Beiträge
    162
    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
    Michi
     
    Don't hang and loose but run and win!

Ähnliche Themen

  1. Verschlüsselung
    Von melmager im Forum Linux & Unix
    Antworten: 4
    Letzter Beitrag: 09.02.08, 08:21
  2. RSA-Verschlüsselung
    Von Azi im Forum Security (Viren, Trojaner, Spam)
    Antworten: 5
    Letzter Beitrag: 30.12.07, 13:05
  3. MD5 Verschlüsselung
    Von server im Forum PHP
    Antworten: 3
    Letzter Beitrag: 21.09.06, 09:01
  4. MD5 Verschlüsselung.
    Von soa im Forum PHP
    Antworten: 15
    Letzter Beitrag: 30.06.06, 09:23
  5. Verschlüsselung ?!!
    Von LoMo im Forum PHP
    Antworten: 17
    Letzter Beitrag: 13.04.05, 15:19