Создать уникальное шифрование - PullRequest
0 голосов
/ 02 августа 2011

Используется для шифрования строки для создания уникального отпечатка пальца, такого как 8FAC-5806-FF54-4174-F89E-43DE-97A6-5648.

Как я могу преобразовать его обратно из строки 8FAC-5806-FF54-4174-F89E-43DE-97A6-5648 в строку?

MD5 - одиночное шифрование, поэтому необходимо использовать tripleDES, чтобы получить его обратно. но как создать строку вроде этой 8FAC-5806-FF54-4174-F89E-43DE-97A6-5648, используя метод ниже:

public static string Encrypt(string strToEncrypt, string strKey)
    {
        try
        {
            TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider();
            MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();

            byte[] byteHash, byteBuff;
            string strTempKey = strKey;

            byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey));
            objHashMD5 = null;
            objDESCrypto.Key = byteHash;
            objDESCrypto.Mode = CipherMode.ECB; //CBC, CFB

            byteBuff = ASCIIEncoding.ASCII.GetBytes(strToEncrypt);
            return Convert.ToBase64String(objDESCrypto.CreateEncryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length));
        }
        catch (Exception ex)
        {
            return "Wrong Input. " + ex.Message;
        }
    }

1 Ответ

5 голосов
/ 02 августа 2011

Код использует MD5 для генерации отпечатка пальца. MD5 - это односторонний алгоритм хеширования. Это означает, что невозможно повернуть алгоритм, чтобы вернуть исходное значение. Хеширование не является шифрованием. Если вы хотите зашифровать вашу строку и иметь возможность расшифровать ее, вам необходимо использовать алгоритм шифрования, такой как AES.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...