CultivateImmortal/Assets/Scripts/Framework/Util/EncryptionUtil.cs

63 lines
1.5 KiB
C#
Raw Normal View History

2024-11-14 18:15:51 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// <20><><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD> <20><>Ҫ<EFBFBD><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public class EncryptionUtil
{
//1.<2E><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ
public static int GetRandomKey()
{
return Random.Range(1, 10000) + 5;
}
//2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public static int LockValue(int value, int key)
{
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
value = value ^ (key % 9);
value = value ^ 0xADAD;
value = value ^ (1 << 5);
value += key;
return value;
}
public static long LockValue(long value, int key)
{
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
value = value ^ (key % 9);
value = value ^ 0xADAD;
value = value ^ (1 << 5);
value += key;
return value;
}
//3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public static int UnLoackValue(int value, int key)
{
//<2F>п<EFBFBD><D0BF>ܻ<EFBFBD>û<EFBFBD>м<EFBFBD><D0BC>ܹ<EFBFBD> û<>г<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ֱ<><D6B1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ȡ <20><>ô<EFBFBD>Ͳ<EFBFBD><CDB2>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ<EFBFBD>϶<EFBFBD><CFB6><EFBFBD>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)
{
//<2F>п<EFBFBD><D0BF>ܻ<EFBFBD>û<EFBFBD>м<EFBFBD><D0BC>ܹ<EFBFBD> û<>г<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ֱ<><D6B1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ȡ <20><>ô<EFBFBD>Ͳ<EFBFBD><CDB2>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ<EFBFBD>϶<EFBFBD><CFB6><EFBFBD>0
if (value == 0)
return value;
value -= key;
value = value ^ (key % 9);
value = value ^ 0xADAD;
value = value ^ (1 << 5);
return value;
}
}