[C#] 纯文本查看 复制代码
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace ShiShiCai
{
// Token: 0x02000004 RID: 4
public class EncryptionHelper
{
// Token: 0x17000004 RID: 4
// (get) Token: 0x0600001B RID: 27 RVA: 0x00008734 File Offset: 0x00006934
public string Key
{
get
{
return Convert.ToBase64String(EncryptionHelper.AES_KEY);
}
}
// Token: 0x0600001C RID: 28 RVA: 0x00008750 File Offset: 0x00006950
public byte[] Encrypt(byte[] plainData)
{
byte[] result;
using (AesCryptoServiceProvider aesCryptoServiceProvider = new AesCryptoServiceProvider())
{
using (MemoryStream memoryStream = new MemoryStream())
{
using (CryptoStream cryptoStream = new CryptoStream(memoryStream, aesCryptoServiceProvider.CreateEncryptor(EncryptionHelper.AES_KEY, EncryptionHelper.IV), CryptoStreamMode.Write))
{
cryptoStream.Write(plainData, 0, plainData.Length);
cryptoStream.Close();
byte[] array = memoryStream.ToArray();
byte[] array2 = new byte[EncryptionHelper.IV.Length + array.Length];
Array.Copy(EncryptionHelper.IV, 0, array2, 0, EncryptionHelper.IV.Length);
Array.Copy(array, 0, array2, EncryptionHelper.IV.Length, array.Length);
result = array2;
}
}
}
return result;
}
// Token: 0x0600001D RID: 29 RVA: 0x0000882C File Offset: 0x00006A2C
public byte[] Decrypt(byte[] encryptionData)
{
byte[] result;
using (AesCryptoServiceProvider aesCryptoServiceProvider = new AesCryptoServiceProvider())
{
using (MemoryStream memoryStream = new MemoryStream())
{
byte[] array = new byte[16];
Array.Copy(encryptionData, 0, array, 0, array.Length);
using (CryptoStream cryptoStream = new CryptoStream(memoryStream, aesCryptoServiceProvider.CreateDecryptor(EncryptionHelper.AES_KEY, array), CryptoStreamMode.Write))
{
cryptoStream.Write(encryptionData, EncryptionHelper.IV.Length, encryptionData.Length - EncryptionHelper.IV.Length);
cryptoStream.Close();
result = memoryStream.ToArray();
}
}
}
return result;
}
// Token: 0x0600001E RID: 30 RVA: 0x000088E8 File Offset: 0x00006AE8
public string EncryptString(string plainString)
{
byte[] bytes = Encoding.UTF8.GetBytes(plainString);
byte[] inArray = this.Encrypt(bytes);
return Convert.ToBase64String(inArray);
}
// Token: 0x0600001F RID: 31 RVA: 0x00008914 File Offset: 0x00006B14
public string DecryptString(string encryptedString)
{
byte[] encryptionData = Convert.FromBase64String(encryptedString);
byte[] bytes = this.Decrypt(encryptionData);
return Encoding.UTF8.GetString(bytes);
}
// Token: 0x04000058 RID: 88
private static readonly byte[] IV = new byte[]
{
201,
219,
55,
183,
156,
64,
85,
204,
201,
219,
55,
183,
156,
64,
85,
204
};
// Token: 0x04000059 RID: 89
private static readonly byte[] AES_KEY = new byte[]
{
201,
219,
55,
183,
156,
64,
85,
204,
201,
219,
55,
183,
156,
64,
85,
204
};
}
}