21 lines
763 B
C#
21 lines
763 B
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.Security.Cryptography;
|
|
using System.Text;
|
|
|
|
namespace EnvelopeGenerator.Application.DTOs.Receiver
|
|
{
|
|
public record ReceiverCreateDto([EmailAddress] string EmailAddress, string? TotpSecretkey = null, DateTime? TotpExpiration = null)
|
|
{
|
|
public string Signature => sha256HexOfMail.Value;
|
|
|
|
private readonly Lazy<string> sha256HexOfMail = new(() =>
|
|
{
|
|
var bytes_arr = Encoding.UTF8.GetBytes(EmailAddress.ToUpper());
|
|
var hash_arr = SHA256.HashData(bytes_arr);
|
|
var hexa_str = BitConverter.ToString(hash_arr);
|
|
return hexa_str.Replace("-", string.Empty);
|
|
});
|
|
|
|
public DateTime AddedWhen { get; } = DateTime.Now;
|
|
};
|
|
} |