[英]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.