Database 数据库列加密postgres
如何使用pgcrypto插件加密postgres数据库中的列Database 数据库列加密postgres,database,postgresql,encryption,aes,pgcrypto,Database,Postgresql,Encryption,Aes,Pgcrypto,如何使用pgcrypto插件加密postgres数据库中的列 我使用的是postgres 9.3,我需要对我的一个专栏进行加密,postgres是否也支持Aes加密,或者以任何方式我都可以实现它 是,Postgrespgcrypto模块不支持。有关示例的所有详细信息,请参见。至于示例用法: -- add extension CREATE EXTENSION pgcrypto; -- sample DDL CREATE TABLE test_encrypt( value TEXT ); IN
我使用的是postgres 9.3,我需要对我的一个专栏进行加密,postgres是否也支持Aes加密,或者以任何方式我都可以实现它 是,Postgres
pgcrypto
模块不支持。有关示例的所有详细信息,请参见。至于示例用法:
-- 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)
这意味着我也需要对我的应用程序代码进行更改,不在应用程序级别进行任何更改是否可以实现它。@Nitin-嗯,很难告诉您,因为我没有看到您的auth实现。这不是(列)加密。加密是可逆的,而散列则不是。SQL Server@Henrik中的示例,非常好的特性,我不知道。。你在Postgre找到这样的功能了吗?如果是,请让我知道。。。感谢您还需要考虑哪些服务器允许查看解密密钥。如果您将密钥与加密数据放在同一个位置,那么,这并不会大大提高安全性。