亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何在c#中實現對稱加密的加解密測試

c#
小樊
106
2024-09-20 05:47:23
欄目: 編程語言

在C#中實現對稱加密的加解密測試,你可以使用.NET框架自帶的System.Security.Cryptography命名空間中的類。這里以AES加密為例,展示如何實現加解密測試。

  1. 首先,確保已經安裝了System.Security.Cryptography.dll,這個DLL在.NET Framework中已經包含,不需要額外安裝。

  2. 創建一個名為AesEncryptionHelper的類,并添加以下代碼:

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

public static class AesEncryptionHelper
{
    private static readonly byte[] Key = Encoding.UTF8.GetBytes("16位長度的密鑰");
    private static readonly byte[] IV = Encoding.UTF8.GetBytes("16位長度的初始向量");

    public static string Encrypt(string plainText)
    {
        using (Aes aesAlg = Aes.Create())
        {
            aesAlg.Key = Key;
            aesAlg.IV = IV;

            ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);

            using (var msEncrypt = new System.IO.MemoryStream())
            {
                using (var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                {
                    using (var swEncrypt = new StreamWriter(csEncrypt))
                    {
                        swEncrypt.Write(plainText);
                    }
                }
                return Convert.ToBase64String(msEncrypt.ToArray());
            }
        }
    }

    public static string Decrypt(string cipherText)
    {
        using (Aes aesAlg = Aes.Create())
        {
            aesAlg.Key = Key;
            aesAlg.IV = IV;

            ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);

            using (var msDecrypt = new System.IO.MemoryStream(Convert.FromBase64String(cipherText)))
            {
                using (var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
                {
                    using (var srDecrypt = new StreamReader(csDecrypt))
                    {
                        return srDecrypt.ReadToEnd();
                    }
                }
            }
        }
    }
}
  1. 在Main方法中,使用AesEncryptionHelper類進行加密和解密測試:
using System;

class Program
{
    static void Main(string[] args)
    {
        string plainText = "這是一段需要加密的文本";
        string encryptedText = AesEncryptionHelper.Encrypt(plainText);
        string decryptedText = AesEncryptionHelper.Decrypt(encryptedText);

        Console.WriteLine("原文:" + plainText);
        Console.WriteLine("加密后的文本:" + encryptedText);
        Console.WriteLine("解密后的文本:" + decryptedText);
    }
}

運行上述代碼,你將看到加密和解密后的文本。請注意,為了簡化示例,這里使用了固定的密鑰和初始向量。在實際應用中,建議使用更安全的方式來生成和管理密鑰和初始向量。

0
东乡族自治县| 名山县| 佛坪县| 绥芬河市| 含山县| 大田县| 云梦县| 新郑市| 玉林市| 山阴县| 称多县| 蕉岭县| 杨浦区| 台江县| 云和县| 类乌齐县| 福泉市| 侯马市| 东山县| 永川市| 南城县| 凤凰县| 通州区| 滁州市| 无棣县| 年辖:市辖区| 冷水江市| 泸溪县| 文登市| 保康县| 获嘉县| 高平市| 潞西市| 仙桃市| 肥乡县| 前郭尔| 南雄市| 双辽市| 纳雍县| 宣城市| 建水县|