91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在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
任丘市| 永胜县| 宜宾县| 视频| 遂宁市| 冕宁县| 黄石市| 新乐市| 五指山市| 红河县| 深泽县| 崇义县| 桐梓县| 交城县| 唐河县| 三门峡市| 城步| 桃园县| 呼图壁县| 克什克腾旗| 时尚| 门头沟区| 迁安市| 视频| 永仁县| 金秀| 德州市| 松原市| 襄垣县| 哈密市| 武隆县| 建阳市| 永年县| 增城市| 清河县| 淅川县| 鄯善县| 惠安县| 巨鹿县| 即墨市| 安康市|