DESC 加密,解密
Posted Jacob Wu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DESC 加密,解密相关的知识,希望对你有一定的参考价值。
DESC 加密,解密
/// <summary> /// 加密、解密 /// </summary> public class CryptoSecurity { /// <summary> /// 默认密钥向量 /// </summary> private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; private static string encryptKey = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + "1qasde32"; /// <summary> /// DES加密字符串(权限代码加密、页面数据访问的加密) /// </summary> /// <param name="encryptString">待加密的字符串</param> /// <returns></returns> public static string EncryptDES(string encryptString) { try { byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8)); byte[] rgbIV = Keys; byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Convert.ToBase64String(mStream.ToArray()); } catch { return encryptString; } } /// <summary> /// DES解密字符串 (权限代码解密、页面数据访问的解密) /// </summary> /// <param name="decryptString">待解密的字符串</param> /// <returns></returns> public static string DecryptDES(string decryptString) { try { byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8)); byte[] rgbIV = Keys; byte[] inputByteArray = Convert.FromBase64String(decryptString); DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Encoding.UTF8.GetString(mStream.ToArray()); } catch { return decryptString; } } }
以上是关于DESC 加密,解密的主要内容,如果未能解决你的问题,请参考以下文章
无法使用前端 xxx 解决:rpc 错误:代码 = 未知 desc = (...) 输出:`退出状态 2:gpg:解密失败:没有密钥`