66 lines
2.2 KiB
C#
66 lines
2.2 KiB
C#
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);
|
||
}
|
||
|
||
|
||
|
||
}
|