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);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|