using IRaCIS.Core.Infrastructure.Encryption;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Microsoft.EntityFrameworkCore.ValueGeneration;
namespace IRaCIS.Core.Infra.EFCore;
///
/// 某列保留前面几位,后续加密
///
public class PartialEncryptionConverter : ValueConverter
{
private readonly int _unencryptedPrefixLength;
public PartialEncryptionConverter(int unencryptedPrefixLength)
: base(
plainText => AesEncryption.EncryptPartial(plainText, unencryptedPrefixLength),
encryptedText => AesEncryption.DecryptPartial(encryptedText, unencryptedPrefixLength))
{
_unencryptedPrefixLength = unencryptedPrefixLength;
}
}