public string GenerateWebhookUri(string userId)
{
var hash = new SHA256Managed().ComputeHash(Encoding.UTF8.GetBytes(userId));
var base64 = Convert.ToBase64String(hash);
return $"https://example.com/webhook/{base64}";
}
该方法将输入的用户ID计算为SHA256哈希,然后将哈希值转换为Base64编码,并将其与Webhook的基本URL组合在一起以创建唯一的Webhook URI。
var webhookUri = GenerateWebhookUri(userId);
user.WebhookUri = webhookUri;
var user = GetUser(userId);
var webhookUri = user.WebhookUri;
var payload = new { message = "Hello, world!" };
var client = new HttpClient();
var response = await client.PostAsJsonAsync(webhookUri, payload);
这种方法可以确保每个用户都有自己的唯一Webhook URI,以保护隐私并避免Webhook URL猜测攻击。