Files
tiku-backend.net/Tiku.Infrastructure/Auth/SmsCodeHashing.cs
2026-07-26 12:51:56 +08:00

21 lines
582 B
C#

using System.Security.Cryptography;
using System.Text;
using Tiku.Domain.Tenancy;
namespace Tiku.Infrastructure.Auth;
public static class SmsCodeHashing
{
public static string Hash(Guid tenantId, string phone, SmsPurpose purpose, string code)
{
var normalized = $"{tenantId:N}:{NormalizePhone(phone)}:{purpose}:{code.Trim()}";
var hash = SHA256.HashData(Encoding.UTF8.GetBytes(normalized));
return Convert.ToHexString(hash).ToLowerInvariant();
}
public static string NormalizePhone(string phone)
{
return phone.Trim();
}
}