创建唯一的加密

本文关键字:加密 唯一 创建 | 更新日期: 2023-09-27 18:04:08

用于加密字符串以创建唯一的指纹,如8fac5806 - ff54 -4174- f89e - 43de - 97a6 -5648。

我如何将它从8fac5806 - ff54 -4174- f89e - 43de - 97a6 -5648转换回字符串?

MD5是单一加密,所以必须使用tripleDES来检索它回来。但是如何使用下面的方法创建一个像这样的字符串:

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;
        }
    }

创建唯一的加密

代码使用MD5生成指纹。MD5是单向哈希算法。这意味着不可能逆转算法以获得原始值。哈希不是加密。如果您希望加密字符串并能够解密它,则需要使用加密算法,如AES。