簡體   English   中英

Postgres:像搜索在列級別加密數據的地方

[英]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 模塊的詳細信息可在此處獲得。

https://www.postgresql.org/docs/9.0/pgcrypto.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM