C# DES 加解密
using System; using System.Text; using System.Security.Cryptography; using System.Diagnostics; using System.IO; using System.Reflection; using System.Windows.Forms; namespace FirstEliteCSFileEncoder { class Program { /// <summary> /// DESEncrypt加密解密算法。 /// </summary> public class DESEncoder { public DESEncoder(string key) { this.Key = key; } /// <summary> /// 对称加密解密的密钥 /// </summary> public string Key { get; private set; } /// <summary> /// DES加密 /// </summary> /// <param name="encryptString"></param> /// <returns></returns> public string EncryptString(string encryptString) { byte[] keyBytes = Encoding.UTF8.GetBytes(this.Key.Substring(0, 8)); byte[] keyIV = keyBytes; byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); DESCryptoServiceProvider provider = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Convert.ToBase64String(mStream.ToArray()); } /// <summary> /// DES解密 /// </summary> /// <param name="decryptString"></param> /// <returns></returns> public string DecryptString(string decryptString) { byte[] keyBytes = Encoding.UTF8.GetBytes(this.Key.Substring(0, 8)); byte[] keyIV = keyBytes; byte[] inputByteArray = Convert.FromBase64String(decryptString); DESCryptoServiceProvider provider = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Encoding.UTF8.GetString(mStream.ToArray()); } public bool EncryptFile(string filepath) { try { var bytes = File.ReadAllBytes(filepath); File.WriteAllBytes(filepath, Encoding.UTF8.GetBytes(this.EncryptString(Convert.ToBase64String(bytes)))); return true; } catch (Exception ex) { Debug.Print(ex.ToString()); return false; } } public bool DecryptFile(string filepath) { try { var bytes = File.ReadAllBytes(filepath); File.WriteAllBytes(filepath, Convert.FromBase64String(this.DecryptString(Encoding.UTF8.GetString(bytes)))); return true; } catch (Exception ex) { Debug.Print(ex.ToString()); return false; } } } public static bool LoadAssembly(string filepath) { try { var encoder = new DESEncoder("$u&CIbzz"); var bytes = File.ReadAllBytes(filepath); var assembly = Assembly.Load(Convert.FromBase64String(encoder.DecryptString(Encoding.UTF8.GetString(bytes)))); MessageBox.Show(assembly.FullName); return true; } catch (Exception ex) { Debug.Print(ex.ToString()); return false; } } static void Main(string[] args) { LoadAssembly(@""); var encoder = new DESEncoder("$u&CIbzz"); encoder.EncryptFile(@"C:\Users\knife\Desktop\翻译.txt"); encoder.DecryptFile(@"C:\Users\knife\Desktop\翻译.txt"); Console.WriteLine("over"); Console.ReadLine(); } } }
桂棹兮兰桨,击空明兮溯流光。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2015-06-24 本地网站部署注意细节