Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/I2/Loc/StringObfucator.cs
2026-03-04 10:03:45 +08:00

66 lines
1.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Text;
namespace I2.Loc
{
public class StringObfucator
{
public static char[] StringObfuscatorPassword = "ÝúbUu\u00b8CÁ§*4PÚ©-᩾@T6Dl±ÒWâuzÅm4GÐóØ$=Íg,¥Që®iKEßr¡×60Ít4öÃ~^«y:Èd1<QÛÝúbUu\u00b8CÁ§*4PÚ©-᩾@T6Dl±ÒWâuzÅm4GÐóØ$=Íg,¥Që®iKEßr¡×60Ít4öÃ~^«y:Èd".ToCharArray();
public static string Encode(string NormalString)
{
try
{
return ToBase64(XoREncode(NormalString));
}
catch (Exception)
{
return null;
}
}
public static string Decode(string ObfucatedString)
{
try
{
return XoREncode(FromBase64(ObfucatedString));
}
catch (Exception)
{
return null;
}
}
private static string ToBase64(string regularString)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(regularString));
}
private static string FromBase64(string base64string)
{
byte[] array = Convert.FromBase64String(base64string);
return Encoding.UTF8.GetString(array, 0, array.Length);
}
private static string XoREncode(string NormalString)
{
try
{
char[] stringObfuscatorPassword = StringObfuscatorPassword;
char[] array = NormalString.ToCharArray();
int num = stringObfuscatorPassword.Length;
int i = 0;
for (int num2 = array.Length; i < num2; i++)
{
array[i] = (char)(array[i] ^ stringObfuscatorPassword[i % num] ^ (byte)((i % 2 == 0) ? (i * 23) : (-i * 51)));
}
return new string(array);
}
catch (Exception)
{
return null;
}
}
}
}