用于加密字符串以创建独特的指纹,如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;
}
}
答案 0 :(得分:5)
代码使用MD5生成指纹。 MD5是一种单向散列算法。这意味着无法反转算法以获取原始值。散列不是加密。如果要加密字符串并能够对其进行解密,则需要使用AES等加密算法。