2026-03-31 07:15:03 -05:00
|
|
|
using System.Security.Cryptography;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
2026-03-30 08:03:27 -05:00
|
|
|
namespace StevanFreeborn.Extensions.Configuration.Secure.Cryptography;
|
|
|
|
|
|
2026-03-31 07:15:03 -05:00
|
|
|
internal sealed class MachineIdKeyProvider(IMachineIdKeyGenerator generator) : IEncryptionKeyProvider
|
2026-03-30 08:03:27 -05:00
|
|
|
{
|
2026-03-31 07:15:03 -05:00
|
|
|
private readonly IMachineIdKeyGenerator _generator = generator;
|
|
|
|
|
|
|
|
|
|
public byte[] GetKey()
|
|
|
|
|
{
|
|
|
|
|
var machineId = _generator.GetId();
|
|
|
|
|
var @bytes = Encoding.UTF8.GetBytes(machineId);
|
|
|
|
|
using var sha256 = SHA256.Create();
|
|
|
|
|
return sha256.ComputeHash(@bytes);
|
|
|
|
|
}
|
2026-03-30 08:03:27 -05:00
|
|
|
}
|