用pgcrypto加密整列



我需要使用AES-256密钥加密一些列,我已经查看了pgcrypto的官方文档。但他们的例子让我很生气。

例如,我有这样的数据库。

id       first_name      last_name       is_active
0        John            last_name 1        True
1        David           last_name 2        False
2        Vincent         last_name 3        True
3        Dean            last_name 5        False

我试过这样的东西:

UPDATE my_table SET first_name = ENCRYPT(user_name, 'my_encryption_key')

我需要加密first_name和last_name列。我该如何实现??

谢谢,qwew

pgp_sym_XXX()函数与armor()encode()一起使用以获得base-64:

update my_table
set first_name = armor(
pgp_sym_encrypt(first_name, 'your_key', 'cipher-algo=aes256')
),
last_name =  armor(
pgp_sym_encrypt(last_name, 'your_key', 'cipher-algo=aes256')
);

AES-256速度较慢,因此可能需要很长时间才能与整个表格进行比较。

解密:

select pgp_sym_decrypt(dearmor(last_name), 'your_key', 'cipher-algo=aes256')
from my_table;

相关内容

  • 没有找到相关文章

最新更新