mirror of
https://github.com/proxysu/ProxySU.git
synced 2024-11-25 22:56:09 +03:00
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Linq;
|
|
|
|
namespace ProxySuper.Core.Services
|
|
{
|
|
public class Utils
|
|
{
|
|
public static string Base64Encode(string plainText)
|
|
{
|
|
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
|
|
return System.Convert.ToBase64String(plainTextBytes);
|
|
}
|
|
|
|
public static string Base64Decode(string base64EncodedData)
|
|
{
|
|
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
|
|
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
|
|
}
|
|
|
|
public static T DeepClone<T>(T obj) where T : class
|
|
{
|
|
var serialized = JsonConvert.SerializeObject(obj);
|
|
return JsonConvert.DeserializeObject<T>(serialized);
|
|
}
|
|
|
|
public static string GetTickID()
|
|
{
|
|
return DateTime.Now.Ticks.ToString();
|
|
}
|
|
|
|
private static Random random = new Random();
|
|
public static string RandomString(int length)
|
|
{
|
|
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
|
return new string(Enumerable.Repeat(chars, length)
|
|
.Select(s => s[random.Next(s.Length)]).ToArray());
|
|
}
|
|
}
|
|
}
|