postgresql 字段加解密

一: 查看是pg 版本, 低于13版本的可能会报错

  select * from version();

二: 查看是否安装了 加密模块:

 

如果没有安装则进行安装:

进入postgresql的源安装包文件夹,进入contrib目录,找到pgcrypto文件夹,进入进行编译安装,命令如下:

make USE_PGXS=1
make install

命令执行完毕执行上一步查看是否安装成功;

启用插件:

CREATE EXTENSION pgcrypto;

三: 命令说明

    encrypt(data bytea,key bytea,type text) returns bytea 

    decrypt(data bytea,key bytea,type text) returns bytea 

    encrypt_iv(data bytea,key bytea,iv bytea,type text) returns bytea 

    decrypt_iv(data bytea,key bytea,iv bytea,type text) returns bytea

其中,data 是需要加密的数据;type 用于指定加密方法。type 参数的语法如下:

algorithm[- mode][/pad: padding]

其中 algorithm 的可能取值如下:bf,Blowfish 算法,aes,AES 算法(Rijndael-128、-192 或者-256)

mode 的可能取值如下:cbc,下一个块依赖于前一个块(默认值)ecb,每个块独立加密(仅用于测试)

padding 的可能取值如下:pkcs,数据可以是任意长度(默认值);none,数据长度必须是密码块大小的倍数

四: 示例

4.1: 带iv 的 加解密:

加密:

解密:

与之匹配的java代码:

加密:

解密:

参考:

PostgreSQL: Documentation: 15: 19.8. Encryption Options

postgre自带的pgrypto之encrypt和decrypt - 简书

PostgreSql 加密和解密 - 一品堂.技术学习笔记 - 博客园

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值