CultivateImmortal/Assets/Scripts/Framework/Util/EncryptionUtil.cs
2024-11-14 18:15:51 +08:00

63 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 加密工具类 主要提供加密需求
/// </summary>
public class EncryptionUtil
{
//1.获取随机密钥
public static int GetRandomKey()
{
return Random.Range(1, 10000) + 5;
}
//2.加密数据
public static int LockValue(int value, int key)
{
//主要采用异或加密
value = value ^ (key % 9);
value = value ^ 0xADAD;
value = value ^ (1 << 5);
value += key;
return value;
}
public static long LockValue(long value, int key)
{
//主要采用异或加密
value = value ^ (key % 9);
value = value ^ 0xADAD;
value = value ^ (1 << 5);
value += key;
return value;
}
//3.解密数据
public static int UnLoackValue(int value, int key)
{
//有可能还没有加密过 没有初始化过的数据 直接想要获取 那么就不用解密了
//这种时候数值肯定是0
if (value == 0)
return value;
value -= key;
value = value ^ (key % 9);
value = value ^ 0xADAD;
value = value ^ (1 << 5);
return value;
}
public static long UnLoackValue(long value, int key)
{
//有可能还没有加密过 没有初始化过的数据 直接想要获取 那么就不用解密了
//这种时候数值肯定是0
if (value == 0)
return value;
value -= key;
value = value ^ (key % 9);
value = value ^ 0xADAD;
value = value ^ (1 << 5);
return value;
}
}