使用实体框架核心加密实体模型

时间:2017-03-19 23:18:00

标签: mariadb entity-framework-core

我正在开展一个项目,其中安全性在我的实体模型中的许多领域都很重要。我正在寻找一种方法,我可以使用EF Core(使用MariaDb SQL Server)注入一些自定义逻辑,以加密进入数据库的数据,并在数据自动发出时对其进行解密。基本上我正在寻找类似于下面的内容,我可能有一个包含敏感信息的字段,可能是我的模型中的字符串或DateTime,但需要在数据库中作为加密字符串。

public class Customer
{
    public string Id { get; set; }

    public string Name { get; set; }

    [Secure]
    public DateTime DateOfBirth { get; set; }

    [Secure]
    public string StateIdNumber { get; set; }

    public List<CreditCard> CreditCards { get; set; }
}

public class CreditCard
{
    public string Id { get; set; }

    [Secure]
    public string CardNumber { get; set; }

    [Secure]
    public DateTime Expiration { get; set; }

    [Secure]
    public string CustomerId { get; set; }

    public Customer Customer { get; set; }
}

1 个答案:

答案 0 :(得分:0)

如果您使用的是SQL Server 2016,则可以使用Always Encrypted功能。 (我不确定 MariaDb SQL Server 是否是Microsoft SQL Server的托管版本或完全不同的数据库...)