数据库列加密postgres

标签 database postgresql encryption aes pgcrypto

如何使用 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/

相关文章:

java - 将 Javascript 加密方法转换为 Java

sql - 如何将 varchar 连接到整数

python - 在 Mac OS X 上安装 psycopg2 时出现问题

django - 非常慢的 Django : Multiple "SHOW default_transaction_isolation" calls in log

postgresql - Postgres : strange behavior with optimistic locking

sql - PostgreSQL - 组合函数的 SELECT 和 RETURN VALUE

python - 基于字符串的协议(protocol)安全基础

android - 问题外包RSA加解密

php - 将 uniqid 保存在数据库和图片文件夹中

ruby-on-rails - 跟踪应用程序中的产品销售情况并选择最畅销产品的最佳方式是什么?