using System; using System.Collections; using System.Collections.Generic; using System.Security.Cryptography; using System.Text; using UnityEngine; public class AESHelper : MonoBehaviour { private static string key = "0e40d2202209fdc4"; // 16字节的密钥 // 加密方法 public static string Encrypt(string plainText) { if (string.IsNullOrEmpty(plainText)) return null; // 将字符串转换为字节数组 byte[] toEncryptArray = Encoding.UTF8.GetBytes(plainText); // 初始化RijndaelManaged对象(AES算法) RijndaelManaged rm = new RijndaelManaged { Key = Encoding.UTF8.GetBytes(key), // 使用UTF-8编码的密钥 Mode = CipherMode.ECB, // 设置为ECB模式 Padding = PaddingMode.PKCS7 // 使用PKCS7填充 }; // 创建加密转换器 ICryptoTransform cTransform = rm.CreateEncryptor(); // 执行加密操作 byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); // 将加密后的字节数组转换为Base64字符串 return Convert.ToBase64String(resultArray); } public static string Decrypt(string cipherText) { if (string.IsNullOrEmpty(cipherText)) return null; // 将Base64编码的密文转换为字节数组 byte[] toDecryptArray = Convert.FromBase64String(cipherText); // 初始化RijndaelManaged对象(AES算法) RijndaelManaged rm = new RijndaelManaged { Key = Encoding.UTF8.GetBytes(key), // 使用UTF-8编码的密钥 Mode = CipherMode.ECB, // 设置为ECB模式 Padding = PaddingMode.PKCS7 // 使用PKCS7填充 }; // 创建解密转换器 ICryptoTransform cTransform = rm.CreateDecryptor(); // 执行解密操作 byte[] resultArray = cTransform.TransformFinalBlock(toDecryptArray, 0, toDecryptArray.Length); // 将解密后的字节数组转换为字符串 return Encoding.UTF8.GetString(resultArray); } }