Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 数据库列加密postgres_Database_Postgresql_Encryption_Aes_Pgcrypto - Fatal编程技术网

Database 数据库列加密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

如何使用pgcrypto插件加密postgres数据库中的列


我使用的是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找到这样的功能了吗?如果是,请让我知道。。。感谢您还需要考虑哪些服务器允许查看解密密钥。如果您将密钥与加密数据放在同一个位置,那么,这并不会大大提高安全性。