首次提交
This commit is contained in:
75
Assets/Scripts/Common/Utils/Cryptor.cs
Normal file
75
Assets/Scripts/Common/Utils/Cryptor.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
namespace NBF
|
||||
{
|
||||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
public class Cryptor
|
||||
{
|
||||
private const string ENCRYPTION_KEY = "721e51s73er2i3ds50a41exe123abce9";
|
||||
|
||||
public static string Hash(string value)
|
||||
{
|
||||
return GetSha1Hash(value);
|
||||
}
|
||||
|
||||
public static string Encrypt(string value)
|
||||
{
|
||||
if (value == null || value.Length < 1)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
return GetEncryptedString(value);
|
||||
}
|
||||
|
||||
public static string Decrypt(string value)
|
||||
{
|
||||
if (value == null || value.Length < 1)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
return GetDecryptedString(value);
|
||||
}
|
||||
|
||||
private static string GetSha1Hash(string strToEncrypt)
|
||||
{
|
||||
byte[] bytes = new UTF8Encoding().GetBytes(strToEncrypt);
|
||||
byte[] array = new SHA1CryptoServiceProvider().ComputeHash(bytes);
|
||||
string text = "";
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
text += Convert.ToString(array[i], 16).PadLeft(2, '0');
|
||||
}
|
||||
|
||||
return text.PadLeft(32, '0');
|
||||
}
|
||||
|
||||
private static string GetEncryptedString(string toEncrypt)
|
||||
{
|
||||
byte[] bytes = Encoding.UTF8.GetBytes("721e51s73er2i3ds50a41exe123abce9");
|
||||
byte[] bytes2 = Encoding.UTF8.GetBytes(toEncrypt);
|
||||
byte[] array = new RijndaelManaged
|
||||
{
|
||||
Key = bytes,
|
||||
Mode = CipherMode.ECB,
|
||||
Padding = PaddingMode.PKCS7
|
||||
}.CreateEncryptor().TransformFinalBlock(bytes2, 0, bytes2.Length);
|
||||
return Convert.ToBase64String(array, 0, array.Length);
|
||||
}
|
||||
|
||||
private static string GetDecryptedString(string toDecrypt)
|
||||
{
|
||||
byte[] bytes = Encoding.UTF8.GetBytes("721e51s73er2i3ds50a41exe123abce9");
|
||||
byte[] array = Convert.FromBase64String(toDecrypt);
|
||||
byte[] bytes2 = new RijndaelManaged
|
||||
{
|
||||
Key = bytes,
|
||||
Mode = CipherMode.ECB,
|
||||
Padding = PaddingMode.PKCS7
|
||||
}.CreateDecryptor().TransformFinalBlock(array, 0, array.Length);
|
||||
return Encoding.UTF8.GetString(bytes2);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user