Init enter game

This commit is contained in:
Naruse
2025-06-14 11:15:32 +08:00
commit 6a03b39f07
568 changed files with 92872 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
namespace KianaBH.Util.Crypto;
public static class DispatchEncryption
{
private static readonly JsonSerializerOptions JsonSerializerOptions = new()
{
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower
};
public static string? EncryptDispatchContent(string version, object? data)
{
if (!ConfigManager.Hotfix.AesKeys.TryGetValue(version, out var aesKey))
return null;
var serializedData = JsonSerializer.Serialize(data, JsonSerializerOptions);
var keyBytes = aesKey.Split(' ')
.Select(b => Convert.ToByte(b, 16))
.ToArray();
using var aes = Aes.Create();
aes.Mode = CipherMode.ECB;
aes.Padding = PaddingMode.PKCS7;
aes.Key = keyBytes;
var encryptor = aes.CreateEncryptor();
var dataBytes = Encoding.UTF8.GetBytes(serializedData);
var encryptedBytes = encryptor.TransformFinalBlock(dataBytes, 0, dataBytes.Length);
return Convert.ToBase64String(encryptedBytes);
}
}