创建唯一的加密
本文关键字:加密 唯一 创建 | 更新日期: 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。