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; } }