[英]Postgres : Like search where data is encrypted at column level
我有一个 9.4.1 版的 Postgresql 数据库,非常具体。 某些表的某些列的值是加密的,现在我有一个场景,我需要在具有类似模式的 where 条件下使用此类加密列。 为了加密列下的数据,我使用了 AES 加密方案并仅在 Java 端进行了加密()和解密(),所以现在我的数据库不知道存储了哪些明文值。
以上逻辑适用于精确搜索,但 LIKE 搜索在这里失败
例如:假设客户表的 customername 列下的数据已加密,我想对 customername 执行如下搜索。
select customer_id from customer where customername like '%'+encryption(ABC)+'%'
在评估多个建议选项后,我最终使用 postgres 的 Pgcrypto 模块总结了问题。 pgcrypto 也允许类似搜索,唯一的缺点是需要增加列的长度。
Pgcrypto 模块的详细信息可在此处获得。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.