using DigitalData.EmailProfiler.Application.Common.Interfaces; using Microsoft.AspNetCore.DataProtection; namespace DigitalData.EmailProfiler.Infrastructure.Services; /// /// Encryption service using ASP.NET Core Data Protection API. /// Passwords are encrypted at rest in the database. /// public class DataProtectionEncryptionService(IDataProtectionProvider Provider) : IEncryptionService { private readonly IDataProtector Protector = Provider.CreateProtector("EmailProfiler.Passwords"); public string Encrypt(string plainText) { return Protector.Protect(plainText); } public string Decrypt(string cipherText) { return Protector.Unprotect(cipherText); } }