GDPR加密Postgresql中的现有列

时间:2018-12-28 12:35:53

标签: postgresql

我们有一个postgresql数据库,作为GDPR的一部分,我们需要对某些列数据进行加密,我尝试在Internet上进行搜索,但无法获得关于如何实现此目标的任何具体答案。

例如:假设我们有一个如下表:

     Table "public.demo"
   Column   | Type | Modifiers
------------+------+-----------
 firstname  | text |
 secondname | text |
 city       | text |

并且它已经有数据:

 firstname | secondname | city
-----------+------------+------
 john      | doe        | ban
 hich      | ke         | can
 val       | nuti       | syd
(3 rows)

现在,我们假设只需要加密名字,所以基本上我需要调用一个脚本来加密名字,并且在读取Java代码时,我们可以解密和读取。

上面的内容也需要在插入查询的情况下起作用。

1 个答案:

答案 0 :(得分:1)

如果您使用的是JPA,则可以使用Postgres的pgcrypto模块,然后在您的JPA实体中使用@ColumnTransformerTutorial here.

如果您使用的是普通的老式Java,则适用相同的概念,但是您将需要做更多的工作在服务器端,因为postgresql中没有“ TRIGGER ON SELECT”(您可以使用它来加密选择时更新/插入和解密)。

相关问题