DES加密解密
对称可逆加密:加密后能解密回原文,加密key和解密key是同一个 123,123
加密算法都是公开的,密钥是保密的, 即使拿到密文 你是推算不了密钥 也推算不了原文
加密解密的速度快,问题是密钥的安全
string desEn = DesEncrypt.Encrypt("你好吗"); string desDe = DesEncrypt.Decrypt(desEn); string desEn1 = DesEncrypt.Encrypt("欢迎你"); string desDe1 = DesEncrypt.Decrypt(desEn1);
/// <summary> /// DES AES Blowfish /// 对称加密算法的优点是速度快, /// 缺点是密钥管理不方便,要求共享密钥。 /// 可逆对称加密 密钥长度8 /// </summary> public class DesEncrypt { private static byte[] _rgbKey = ASCIIEncoding.ASCII.GetBytes(Constant.DesKey.Substring(0, 8)); private static byte[] _rgbIV = ASCIIEncoding.ASCII.GetBytes(Constant.DesKey.Insert(0, "w").Substring(0, 8)); /// <summary> /// DES 加密 /// </summary> /// <param name="text">需要加密的值</param> /// <returns>加密后的结果</returns> public static string Encrypt(string text) { DESCryptoServiceProvider dsp = new DESCryptoServiceProvider(); using (MemoryStream memStream = new MemoryStream()) { CryptoStream crypStream = new CryptoStream(memStream, dsp.CreateEncryptor(_rgbKey, _rgbIV), CryptoStreamMode.Write); StreamWriter sWriter = new StreamWriter(crypStream); sWriter.Write(text); sWriter.Flush(); crypStream.FlushFinalBlock(); memStream.Flush(); return Convert.ToBase64String(memStream.GetBuffer(), 0, (int)memStream.Length); } } /// <summary> /// DES解密 /// </summary> /// <param name="encryptText"></param> /// <returns>解密后的结果</returns> public static string Decrypt(string encryptText) { DESCryptoServiceProvider dsp = new DESCryptoServiceProvider(); byte[] buffer = Convert.FromBase64String(encryptText); using (MemoryStream memStream = new MemoryStream()) { CryptoStream crypStream = new CryptoStream(memStream, dsp.CreateDecryptor(_rgbKey, _rgbIV), CryptoStreamMode.Write); crypStream.Write(buffer, 0, buffer.Length); crypStream.FlushFinalBlock(); return ASCIIEncoding.UTF8.GetString(memStream.ToArray()); } } }
本文作者:啊樊
本文链接:https://www.cnblogs.com/FanJunCheng521/p/17168472.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步