AES 256 加密和解密 for C#

这篇博客介绍了如何在 C# 中使用 AES 256 进行文件的加密和解密操作。作者提供了一个方便调用的类,通过 MD5 将密码转化为符合要求的 KEY 和 IV,简化了加密过程。虽然 AES 256 对小文件的加密效率较高,但对大文件(如 1.25GB 视频)的加密会导致效率降低和资源消耗增加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天在写一个对文件进行加密解密的程序,翻了以前在博客园贴过的一段代码,稍微整理了一下,写成一个方便调用的类,并做了注释。

这里需要特别说明的是,AES 需要提供2个字符串,一个是KEY,一个是IV,并且都有长度要求。但对于一般的加密来说,是比较麻烦的。所以我还提供了一个方便调用的 Simple 方法,只需提供一个密码,通过 MD5 自动处理为 32 位长度的 KEY,并截取其中 16 位作为 IV,这样在调用的时候,也方便许多。

经过试用,觉得 AES 256 在加密小文件的时候,效率是可以的,但加密大文件(例如 1.25G 的视频)效率明显下降,并且占用系统资源很大。

以下是代码:

using System.Security.Cryptography;
using System.Text;
 
// 阿博-STYLE
// www.abo-style.com
namespace AboStyle
{
    /// <summary>
    /// AES 256 加密和解密 for C#
    /// 阿博-STYLE(2012)
    /// </summary>
    public class Aes
    {
        #region Create
        /// <summary>
        /// 创建一个统一配置的加密算法。
        /// </summary>
        /// <param name="key">密钥(32位)</param>
        /// <param name="iv">初始化向量(16位)</param>
        /// <returns>RijndaelManaged</returns>
        private static RijndaelManaged Create(string key, string iv)
        {
            RijndaelManaged rm = n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值