Files
RedHotRoast-ios/Assets/Scripts/ToolKit/Base64Kit.cs
T

84 lines
2.4 KiB
C#

using System.Text;
using FutureCore;
using LoveLegend;
public class Base64Kit
{
public static string Encode(string data)
{
var key = NetworkManager.DomainRelease;
var keyMD5 = MD5Kit.MD5String1(key);
var str = Base64EncodeUtil.Base64Encode(data + keyMD5);
var bytes = Encoding.UTF8.GetBytes(str);
for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1)
{
if (i % 2 == 0)
{
(bytes[i], bytes[j]) = (bytes[j], bytes[i]);
}
}
var loginData = Encoding.UTF8.GetString(bytes);
return loginData;
}
public static string Encode(string data, bool is_google_pay = false)
{
var key = NetworkManager.DomainRelease;
if (is_google_pay) key = NetworkManager.identifier;
var keyMD5 = MD5Kit.MD5String1(key);
var str = Base64EncodeUtil.Base64Encode(data + keyMD5);
var bytes = Encoding.UTF8.GetBytes(str);
for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1)
{
if (i % 2 == 0)
{
(bytes[i], bytes[j]) = (bytes[j], bytes[i]);
}
}
var loginData = Encoding.UTF8.GetString(bytes);
return loginData;
}
public static string Decode(string data)
{
var bytes = Encoding.UTF8.GetBytes(data);
for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1)
{
if (i % 2 == 0)
{
(bytes[i], bytes[j]) = (bytes[j], bytes[i]);
}
}
var str = Encoding.UTF8.GetString(bytes);
var str1 = Base64EncodeUtil.Base64Decode(str);
var key = NetworkManager.DomainRelease;
var keyMD5 = MD5Kit.MD5String1(key);
var result = str1.Replace(keyMD5, string.Empty);
return result;
}
public static string Decode(string data, string key)
{
var bytes = Encoding.UTF8.GetBytes(data);
for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1)
{
if (i % 2 == 0)
{
(bytes[i], bytes[j]) = (bytes[j], bytes[i]);
}
}
var str = Encoding.UTF8.GetString(bytes);
var str1 = Base64EncodeUtil.Base64Decode(str);
// var key = NetworkManager.DomainRelease;
var keyMD5 = MD5Kit.MD5String1(key);
var result = str1.Replace(keyMD5, string.Empty);
return result;
}
}