中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C#如何實現緩沖區的加密和解密

c#
小樊
81
2024-08-12 01:30:38
欄目: 編程語言

在C#中實現緩沖區的加密和解密可以使用.NET框架提供的加密算法。以下是一個示例代碼,演示如何使用AES算法對緩沖區進行加密和解密:

using System;
using System.Security.Cryptography;
using System.Text;

public class EncryptionHelper
{
    private const string key = "1234567890123456";
    private const string iv = "1234567890123456";

    public static byte[] Encrypt(byte[] buffer)
    {
        using (Aes aes = Aes.Create())
        {
            aes.Key = Encoding.UTF8.GetBytes(key);
            aes.IV = Encoding.UTF8.GetBytes(iv);

            using (ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV))
            {
                return PerformCryptography(buffer, encryptor);
            }
        }
    }

    public static byte[] Decrypt(byte[] buffer)
    {
        using (Aes aes = Aes.Create())
        {
            aes.Key = Encoding.UTF8.GetBytes(key);
            aes.IV = Encoding.UTF8.GetBytes(iv);

            using (ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV))
            {
                return PerformCryptography(buffer, decryptor);
            }
        }
    }

    private static byte[] PerformCryptography(byte[] buffer, ICryptoTransform transform)
    {
        using (MemoryStream memoryStream = new MemoryStream())
        {
            using (CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write))
            {
                cryptoStream.Write(buffer, 0, buffer.Length);
            }

            return memoryStream.ToArray();
        }
    }
}

在上面的代碼中,Encrypt方法接收一個要加密的字節數組,并使用AES算法加密它。Decrypt方法用于解密加密后的字節數組。PerformCryptography方法用于實際執行加密或解密操作。

請注意,為了簡化示例,上述代碼中使用了固定的密鑰和初始化向量。在實際應用中,密鑰和初始化向量應該更為安全,并根據需要進行動態生成和管理。

0
紫阳县| 长寿区| 怀安县| 锡林郭勒盟| 册亨县| 榆中县| 驻马店市| 临安市| 龙里县| 安顺市| 正安县| 休宁县| 宁化县| 通道| 漳平市| 南皮县| 陆河县| 铜鼓县| 七台河市| 甘泉县| 汾阳市| 临潭县| 漠河县| 八宿县| 许昌县| 昆明市| 麦盖提县| 富阳市| 大英县| 丰台区| 库车县| 金湖县| 保德县| 大悟县| 惠来县| 广宁县| 西畴县| 乡城县| 鹤壁市| 同江市| 宝兴县|