我使用以下语句尝试了 aes-encryption:
SELECT encrypt('test', 'key', 'aes');
Run Code Online (Sandbox Code Playgroud)
这有效,但我无法解密该值。我将它插入到数据类型bytea的字段中,但我不确定这是否正确。
SELECT decrypt(pw, 'key', 'aes') FROM table WHERE ID = 1;
Run Code Online (Sandbox Code Playgroud)
给我错误
错误:函数解密(bytea,未知,未知)不存在第
1 行:选择解密(密码,'key','aes')FROM tabelle WHERE ID = 7; ^
提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
这是否真的意味着 encrypt() 是一个现有的函数,但不是decrypt()?我还能如何检索 aes 加密的值?
我想对整个数据库进行加密,而不是在存储到数据库之前对数据进行加密。
是否可以加密整个 postgres 数据库以及使用什么最佳方法?
谢谢 :)