扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

c#鎬庝箞瀹炵幇aes鍔犲瘑

扬州沐宇科技
2024-02-02 09:59:36
c#

鍦–#涓疄鐜癆ES鍔犲瘑鍙互閫氳繃浣跨敤AesManaged绫绘潵瀹炵幇銆備笅闈㈡槸涓€涓畝鍗曠殑绀轰緥浠g爜锛?/p>

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

public class AesEncryption
{
    public static string Encrypt(string plainText, string key, string iv)
    {
        byte[] keyBytes = Encoding.UTF8.GetBytes(key);
        byte[] ivBytes = Encoding.UTF8.GetBytes(iv);

        byte[] encryptedBytes;

        using (AesManaged aes = new AesManaged())
        {
            aes.Key = keyBytes;
            aes.IV = ivBytes;

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

            using (MemoryStream ms = new MemoryStream())
            {
                using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
                {
                    using (StreamWriter sw = new StreamWriter(cs))
                    {
                        sw.Write(plainText);
                    }

                    encryptedBytes = ms.ToArray();
                }
            }
        }

        return Convert.ToBase64String(encryptedBytes);
    }

    public static string Decrypt(string encryptedText, string key, string iv)
    {
        byte[] keyBytes = Encoding.UTF8.GetBytes(key);
        byte[] ivBytes = Encoding.UTF8.GetBytes(iv);

        byte[] encryptedBytes = Convert.FromBase64String(encryptedText);
        string decryptedText;

        using (AesManaged aes = new AesManaged())
        {
            aes.Key = keyBytes;
            aes.IV = ivBytes;

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

            using (MemoryStream ms = new MemoryStream(encryptedBytes))
            {
                using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
                {
                    using (StreamReader sr = new StreamReader(cs))
                    {
                        decryptedText = sr.ReadToEnd();
                    }
                }
            }
        }

        return decryptedText;
    }
}

浣跨敤浠ヤ笂浠g爜锛屼綘鍙互閫氳繃璋冪敤AesEncryption.Encrypt鏂规硶杩涜鍔犲瘑锛岃皟鐢?code>AesEncryption.Decrypt鏂规硶杩涜瑙e瘑銆傝娉ㄦ剰锛屼綘闇€瑕佹彁渚涗竴涓瘑閽ワ紙key锛夊拰涓€涓垵濮嬪寲鍚戦噺锛?code>iv锛夛紝杩欎袱涓€煎繀椤绘槸鐩稿悓鐨勬墠鑳芥纭В瀵嗐€?/p>

扫码添加客服微信