Die Verschlüsselung und Entschlüsselung in C# mit MD5CryptoServiceProvider

Habe ich einen Dienst namens CryptoService die Erben die Schnittstelle ICryptoService, die aus 2-Methode Crypto Decrypto-Funktion.

Verschlüsselung eines Strings Funktioniert, aber die Entschlüsselung von hash-Ergebnis wird Rückkehr meine Schlüssel anstelle des Entschlüsselten string.

Hier ist meine Verschlüsselung code :

private string _salt = "*1234567890!@#$%^&*()14344*";        
private string Crypto(string text)
        {
            var hashmd5 = new MD5CryptoServiceProvider();
            byte[] toEncryptArray = Encoding.UTF8.GetBytes(_salt);

            byte[] keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(_salt));
            hashmd5.Clear();

            TripleDesProvider.Key = keyArray;
            TripleDesProvider.Mode = CipherMode.ECB;
            TripleDesProvider.Padding = PaddingMode.PKCS7;

            ICryptoTransform cTransform = TripleDesProvider.CreateEncryptor();

            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

            return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }

Mein Entschlüsselungs-code :

private string Decrypto(string text)
        {
            try
            {

                var hashmd5 = new MD5CryptoServiceProvider();
                byte[] toEncryptArray = Convert.FromBase64String(text);

                byte[] keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(_salt));

                hashmd5.Clear();

                TripleDesProvider.Key = keyArray;
                TripleDesProvider.Mode = CipherMode.ECB;
                TripleDesProvider.Padding = PaddingMode.PKCS7;

                ICryptoTransform cTransform = TripleDesProvider.CreateDecryptor();
                byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

                TripleDesProvider.Clear();

                return Encoding.UTF8.GetString(resultArray);
                //return Encoding.UTF8.GetString(resultArray);
            }
            catch
            {
                return string.Empty;
            }
        }

hier der screenshot in Aktion.

Die Verschlüsselung und Entschlüsselung in C# mit MD5CryptoServiceProvider

sind hier die Referenzen meines codes die ich im internet fand
https://www.codeproject.com/Articles/14150/Encrypt-and-Decrypt-Data-with-C

InformationsquelleAutor Chris | 2017-10-05
Schreibe einen Kommentar