Files
MikuSB/Common/Util/Security/Crypto.cs
2026-04-20 12:40:38 +08:00

29 lines
759 B
C#

using System.Security.Cryptography;
using System.Text;
namespace MikuSB.Util.Security;
public class Crypto
{
private static readonly Random SecureRandom = new();
// Simple way to create a unique session key
public static string CreateSessionKey(string accountUid)
{
var random = new byte[64];
SecureRandom.NextBytes(random);
var temp = accountUid + "." + DateTime.Now.Ticks + "." + SecureRandom;
try
{
var bytes = SHA512.HashData(Encoding.UTF8.GetBytes(temp));
return Convert.ToBase64String(bytes);
}
catch
{
var bytes = SHA512.HashData(Encoding.UTF8.GetBytes(temp));
return Convert.ToBase64String(bytes);
}
}
}