如何使用 pgcrypto 插件加密 postgres 数据库中的列?
我正在使用 postgres 9.3,我需要加密我的一个专栏,postgres 是否也支持 Aes 加密,或者我可以实现它吗?
最佳答案
是的,Postgres pgcrypto
模块确实支持 AES
.可以找到所有带有示例的详细信息 here 强>。至于示例用法:
-- add extension
CREATE EXTENSION pgcrypto;
-- sample DDL
CREATE TABLE test_encrypt(
value TEXT
);
INSERT INTO test_encrypt VALUES ('testvalue');
-- encrypt value
WITH encrypted_data AS (
SELECT crypt('PasswordToEncrypt0',gen_salt('md5')) as hashed_value
)
UPDATE test_encrypt SET value = (SELECT hashed_value FROM encrypted_data);
验证密码:
SELECT (value = crypt('PasswordToEncrypt0', value)) AS match FROM test_encrypt;
返回:
match
-------
t
(1 row)
关于数据库列加密postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34658560/