C# AES加密解密实现方法
C#中AES加密解密应使用Aes类,密钥长128/192/256位,IV为16字节且每次随机生成并前置密文;推荐CBC或GCM模式,填充用PKCS7;密钥宜用PBKDF2派生;避免ECB、重复IV、硬编码密钥。
C#中AES加密解密应使用Aes类,密钥长128/192/256位,IV为16字节且每次随机生成并前置密文;推荐CBC或GCM模式,填充用PKCS7;密钥宜用PBKDF2派生;避免ECB、重复IV、硬编码密钥。

在C#中使用AES进行对称加密解密,核心是借助Aes类(位于System.Security.Cryptography命名空间),配合合适的密钥、向量(IV)、填充模式和操作模式。它安全、高效,是.NET推荐的默认对称加密方案。
AES基础参数设置要点
AES要求密钥长度为128、192或256位(即16、24、32字节),常用256位;初始化向量IV必须为128位(16字节),且每次加密应随机生成、与密文一同传输(但无需保密);推荐使用CBC模式(需IV)或更现代的GCM模式(支持认证加密);填充方式一般用PKCS7(.NET默认)。
标准AES-CBC加解密实现(含IV处理)
以下是一个安全、可直接使用的封装示例,自动随机生成IV并将其前置到密文头部:
- 加密时:生成随机IV → 用IV+密钥加密明文 → 将IV拼接在密文前(共16字节+密文)→ Base64编码返回
- 解密时:从Base64解码 → 提取前16字节为IV → 剩余为密文 → 用同一密钥和该IV解密
- 密钥建议通过
Rfc2898DeriveBytes(PBKDF2)从口令派生,避免硬编码原始字节数组
使用AesGcm实现带认证的加密(.NET Core 3.0+ / .NET 5+)
若项目支持较新运行时,优先选AesGcm——它内置完整性校验,防止密文被篡改:
- 需要12字节随机Nonce(类似IV)、16字节Tag(认证标签)
- 加密输出 = 密文 + Tag(Nonce由调用方保管,不嵌入输出)
- 解密时必须传入相同Nonce和收到的Tag,验证失败会直接抛异常
- 无需手动处理填充,更简洁且更安全
注意事项与常见坑
别用ECB模式(不安全);别重复使用同一IV+密钥加密多条数据;别把密钥写死在代码里;解密时确保编码一致(如UTF-8);.NET Framework 4.7.2+ 和所有新版.NET都内置Aes,无需额外NuGet包。
基本上就这些。只要管好密钥、IV/Nonce、编码和模式,AES在C#里用起来很稳。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













