我正在使用pgp_sym_encrypt函数来加密postgresql列中的数据。此功能使用的加密类型是什么?有没有办法改变加密类型?
直接来自documentation:
F.26.3.8。 PGP功能的选项
选项被命名为类似于GnuPG。选项的值应在等号后给出;用逗号分隔选项。例如:
pgp_sym_encrypt(data, psw, 'compress-algo=1, cipher-algo=aes256')
除convert-crlf之外的所有选项仅适用于加密函数。解密函数从PGP数据中获取参数。
最有趣的选项可能是compress-algo和unicode-mode。其余的应该有合理的默认值。
F.26.3.8.1。密码的东西
使用哪种密码算法。
值:bf,aes128,aes192,aes256(OpenSSL-only:3des,cast5)
默认值:aes128
适用于:pgp_sym_encrypt,pgp_pub_encrypt
F.26.3.8.2。压缩一些东西
使用哪种压缩算法。仅在PostgreSQL使用zlib构建时才可用。
值:0 - 无压缩
1 - ZIP压缩
2 - ZLIB压缩(= ZIP加元数据和块CRC)
默认值:0
适用于:pgp_sym_encrypt,pgp_pub_encrypt
我相信它默认使用aes-128,但这可能取决于版本。至少从版本8.3开始就是aes-128。