Files
skidfire fe3468c65d yikes,
2026-09-06 19:59:27 -04:00

27 lines
916 B
C#

using System.Security.Cryptography;
using System.Text;
using Vanadium.Classes;
namespace Vanadium.Utils
{
public static class ImageSignatureValidation
{
public static string GenerateCacheKey(string path, int? w, int? h, bool crop)
{
string rawKey = $"{path}_{w}_{h}_{crop}";
byte[] hashBytes = SHA256.HashData(Encoding.UTF8.GetBytes(rawKey));
return Convert.ToHexString(hashBytes);
}
public static string SignPayload(byte[] payload, string sig)
{
using var rsa = RSA.Create();
rsa.ImportParameters(ServerConfig.RsaParams);
byte[] signatureBytes = rsa.SignData(payload, HashAlgorithmName.SHA1, RSASignaturePadding.Pkcs1);
string base64Signature = Convert.ToBase64String(signatureBytes);
return $"key-id=KEY:RSA:{sig}.rec.net; data={base64Signature};";
}
}
}