30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using Microsoft.Extensions.Logging;
|
|
using System.Text;
|
|
|
|
namespace EnvelopeGenerator.Extensions
|
|
{
|
|
/// <summary>
|
|
/// Provides extension methods for decoding and extracting information from an envelope receiver ID.
|
|
/// </summary>
|
|
public static class EncodingExtensions
|
|
{
|
|
public static string EncodeEnvelopeReceiverId(this long readOnlyId)
|
|
{
|
|
//The random number is used as a salt to increase security but it is not saved in the database.
|
|
string combinedString = $"{Random.Shared.Next()}::{readOnlyId}::{Random.Shared.Next()}";
|
|
byte[] bytes = Encoding.UTF8.GetBytes(combinedString);
|
|
string base64String = Convert.ToBase64String(bytes);
|
|
|
|
return base64String;
|
|
}
|
|
|
|
public static string EncodeEnvelopeReceiverId(this (string envelopeUuid, string receiverSignature) input)
|
|
{
|
|
string combinedString = $"{input.envelopeUuid}::{input.receiverSignature}";
|
|
byte[] bytes = Encoding.UTF8.GetBytes(combinedString);
|
|
string base64String = Convert.ToBase64String(bytes);
|
|
|
|
return base64String;
|
|
}
|
|
}
|
|
} |