c# - Asp.Core 通过数据库中的 PGP_SYM_ENCRYPT 映射加密数据
问题描述
我有用 Asp.Core 2.1 和EF.Core 2.2 编写的 Web 应用程序,与Postgres数据库连接。我需要加密表中的任何列(不是全部)。
问题 1 是:
- 列中的字符串数据必须受到保护,并且数据库表 (GDPR) 中的人无法读取。
问题 2 是:
- 从列中的应用程序字符串数据必须能够搜索/过滤。
我已经阅读了大量可能的解决方案,最后是:
列中的字符串数据由数据库端函数上的 PGP_SYM_ENCRYPT 加密,只需要密码。
但我不知道如何使用 db 加密/解密函数将实体属性映射到数据库,反之亦然。
我认为创建自定义 EF.Function 扩展是可能的。但我不确定如何将其与 EF linq 而非原始 sql 一起使用。
你能给我任何建议或让我上路吗?
非常感谢