Asp.net core ASP.NET核心数据加密/保护

Asp.net core ASP.NET核心数据加密/保护,asp.net-core,encryption,entity-framework-core,mariadb,data-protection,Asp.net Core,Encryption,Entity Framework Core,Mariadb,Data Protection,我有一个多租户Web应用程序的共享数据库,它使用实体框架核心。租户有自己的租户表,每个模型都有一个租户ID。 根据设计,不可能访问另一个租户的数据,因为我有查询过滤器,控制器中的代码总是检查租户。 但是我想用不同的密钥或目的字符串加密每个租户的数据,或者至少是最敏感的数据。 我用保护API为一个模型实现了它 但是要为每个模型实现它将需要大量的工作,因为我必须在控制器中的每个数据库调用之后调用protect和unprotect 我正在使用MariaDB作为我的数据库。有人知道是否有可能让Maria

我有一个多租户Web应用程序的共享数据库,它使用实体框架核心。租户有自己的租户表,每个模型都有一个租户ID。 根据设计,不可能访问另一个租户的数据,因为我有查询过滤器,控制器中的代码总是检查租户。 但是我想用不同的密钥或目的字符串加密每个租户的数据,或者至少是最敏感的数据。 我用保护API为一个模型实现了它

但是要为每个模型实现它将需要大量的工作,因为我必须在控制器中的每个数据库调用之后调用protect和unprotect


我正在使用MariaDB作为我的数据库。有人知道是否有可能让MariaDB进行加密吗?我知道您可以对静态数据进行加密,但是否也可以使用不同的密钥对TenantId标识的不同行进行加密?

DB端加密仅适用于可以直接读取DB文件的人,但无法防止错误的客户端混淆租户。您所做的可能是最好的方法之一。对于更大规模的应用程序,我会将加密/解密放在存储库中,这样控制器甚至不知道它,并且它集中在一个地方。谢谢你,Alejandro,我在我的存储库中实现了它。现在它不在控制器中,这使它们更具可读性,谢谢你的好建议。