c# stream的加密解密方法

   2024-10-05 8840
核心提示:在C#中,可以使用System.Security.Cryptography命名空间下的类来实现流的加密解密操作。下面是一个简单的示例代码:using System

在C#中,可以使用System.Security.Cryptography命名空间下的类来实现流的加密解密操作。下面是一个简单的示例代码:

using System;using System.IO;using System.Security.Cryptography;public class StreamEncryption{    public static void EncryptStream(Stream inputStream, Stream outputStream, string key)    {        using (Aes aesAlg = Aes.Create())        {            aesAlg.Key = Encoding.UTF8.GetBytes(key);            aesAlg.IV = new byte[16]; // 16 bytes IV for AES            using (CryptoStream cryptoStream = new CryptoStream(outputStream, aesAlg.CreateEncryptor(), CryptoStreamMode.Write))            {                inputStream.CopyTo(cryptoStream);            }        }    }    public static void DecryptStream(Stream inputStream, Stream outputStream, string key)    {        using (Aes aesAlg = Aes.Create())        {            aesAlg.Key = Encoding.UTF8.GetBytes(key);            aesAlg.IV = new byte[16]; // 16 bytes IV for AES            using (CryptoStream cryptoStream = new CryptoStream(inputStream, aesAlg.CreateDecryptor(), CryptoStreamMode.Read))            {                cryptoStream.CopyTo(outputStream);            }        }    }}

在上面的示例中,EncryptStream方法将输入流使用AES算法加密后写入输出流,DecryptStream方法将输入流使用AES算法解密后写入输出流。在使用时,可以将需要加密的数据流和加密后的数据流传入这两个方法进行加密和解密操作。

需要注意的是,对称加密算法需要提供密钥(key)和初始化向量(IV),这两者都需要保密。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号