C#加密与解密技术详解
在这段C 示例代码中,我们实现了一个经典的对称加密流程——利用DES算法对用户输入进行加密,将加密结果持久化到文件,再立即读取并解密输出。整个流程结构清晰、逻辑紧凑,非常适合作为C 加密入门的实战教程。下面让我们跟随代码的步骤,逐步理解它是如何完成的。 首先,创建一个文件流,指向新生成的“Encry
首先,创建一个文件流,指向新生成的“EncryptedFile.txt”并设置为写入模式。接着从控制台读取用户输入的字符串,将其转换为字节数组——这一步至关重要,因为加密操作本质上处理的是字节流。
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
class FileEncrypt {
public static Byte[] ConvertStringToByteArray(String s)
{
return (new UnicodeEncoding()).GetBytes(s);
}
public static void Main()
{
//创建文件流
FileStream fs = new FileStream("EncryptedFile.txt",FileMode.Create,FileAccess.Write);
Console.WriteLine("输入一些要存储在加密文件中的文本::");
String strinput = Console.ReadLine();
Byte[] bytearrayinput=ConvertStringToByteArray(strinput);
//具有随机密钥的 DES 实例
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//从此实例创建 DES 加密器
ICryptoTransform desencrypt = des.CreateEncryptor();
//创建使用 des 加密转换文件流的加密流
CryptoStream cryptostream = new CryptoStream(fs,desencrypt,CryptoStreamMode.Write);
//写出 DES 加密文件
cryptostream.Write(bytearrayinput,0,bytearrayinput.Length);
cryptostream.Close();
//创建文件流以读回加密文件
FileStream fsread = new FileStream("EncryptedFile.txt",FileMode.Open,FileAccess.Read);
//从此 des 实例创建 DES 解密器
ICryptoTransform desdecrypt = des.CreateDecryptor();
//创建加密流集合以便对传入的字节进行读取并执行 des 解密转换
CryptoStream cryptostreamDecr = new CryptoStream(fsread,desdecrypt,CryptoStreamMode.Read);
//输出已解密文件的内容
Console.WriteLine( (new StreamReader(cryptostreamDecr, new UnicodeEncoding())).ReadToEnd() );
Console.WriteLine ();
Console.WriteLine ("按 Enter 键继续...");
Console.ReadLine();
}
}
接下来,实例化DESCryptoServiceProvider,这里利用了其自动生成的随机密钥——每次运行密钥都不同,但由于加密和解密使用的是同一个DES对象,因此密钥是一致的。随后通过CreateEncryptor()获取加密器,并借助CryptoStream将数据流实时加密后写入文件。注意,CryptoStream工作在写入模式,它会调用底层加密器对字节进行变换,实现C#对称加密中的核心步骤。
写入完成后,立即关闭加密流(同时也刷新了缓冲区)。紧接着,为了验证解密的正确性,代码重新以读取模式打开同一个文件,用CreateDecryptor()创建解密器,再套一层CryptoStream并设置为读取模式。最后通过StreamReader将解密后的字节流读取为字符串,并输出到控制台。
整个流程一目了然:输入→加密→写文件→读文件→解密→输出。对于想上手.NET加密的开发者来说,这段代码足以作为C#文件加密解密的入门模板。当然,在实际生产环境中,DES已被认为不够安全,建议改用AES算法。但从学习对称加密原理的角度来看,这段代码将核心环节都展示清楚了,非常值得收藏和参考。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Debian系统嗅探器能否全面有效检测网络入侵行为
在Debian环境下,借助网络嗅探工具(如tcpdump、Wireshark)进行入侵检测,是一种极具实战价值的思路。这些工具并不会直接标记“有攻击者入侵”,但它们提供的数据包级别信息,是构建入侵检测能力的核心基础。实际工作中,主要从以下三个维度展开: 实时流量监控:简单来说,就是持续监测网络数据包
CentOS缓存攻击的全面预防策略与安全防护方案
CentOS系统的缓存管理,看似只是运维中的一个小环节,但在攻击者眼中却可能成为潜入系统的突破口。轻则拖慢响应速度,重则泄露敏感数据。那么,如何构建一道坚实的防护屏障?建议从以下几个关键维度着手。 定期清理缓存,不给攻击者留下可乘之机。YUM缓存可通过 sudo yum clean all 一键清除
九种Windows XP登录密码破解方法
Windows XP 密码恢复全攻略:从入门到精通 使用 Windows XP 时,如果您自认为记性不太好,那么首次设置密码时最好立即创建一张密码恢复启动盘。有了这张盘,至少可以避免格式化硬盘的麻烦,轻松找回丢失的密码。 操作步骤非常简单:从“控制面板”进入“用户账户”,选择自己的账户后,在左侧任务
Linux嗅探器如何应对网络攻击的完整实战教程
在Linux环境下,Sniffer工具能够发挥多种重要作用,尤其在应对网络攻击时表现突出。以下是几个核心应用场景: 捕获并分析数据包:利用tcpdump等工具抓取网络流量,结合过滤器(例如仅抓取port 80的流量)即可精准定位特定协议的数据包。当流量模式出现异常,如DDoS攻击导致的突发流量时,能
Kimi AI威胁性分析:真实还是虚惊
本周,中国人工智能企业Moonshot正式发布了其新一代Kimi开源模型,由此引发的关于中国开源AI发展的讨论,似乎已成为一种必然趋势。 Moonshot方面坦言,尽管Kimi K3“在性能上仍不及当前最顶尖的专有模型——如Claude Fable 5与GPT 5 6 Sol”,但这款全新开源模型“
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-07-19 10:15
2026-07-19 10:15
2026-07-19 09:44
2026-07-19 09:44
2026-07-19 09:44
2026-07-19 09:44
2026-07-19 09:42
2026-07-19 09:40
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

