postgres支持AES加密配置
1、安装pgrypto扩展插件
postgresql在9.6之后支持extend扩展插件,pgrypto支持各种加密算法,执行以下命令:
create extension pgcrypto;
但是会出现”/usr/local/pgsql/share/extend/pgcrypto.control“文件或目录不存在的问题
解决办法:
在大多数Linux系统中,如果用户使用的是RPM或DEB打包版本的PostgreSQL,则可选的postgresql-contrib软件包中包含所有contrib模块及其关联的安装程序脚本。如果尚未安装,你可能需要使用yum,apt-get或类似的机制添加此软件包。在Solaris系统上,这个软件包名为SUNWpostgr-contrib。
我们来看下面的命令,请注意必须用超级用户执行:
CREATE EXTENSION extension_name: 此命令将安装一个名为extension_name的新扩展
ALTER EXTENSION extension name: 此命令将更改扩展名,大多用于升级扩展。
DROP EXTENIONS extension_name: 在清理操作完成后,此命令用于删除一个扩展。
以上命令不能执行或执行报异常,一种可能是contrib模块没有执行编译安装,可以到contrib/目录下执行
make&make install完成编译安装后在尝试执行以上命令。
示例:
cd /software/postgresql-9.5.7/contrib
make
make install
再次执行CREATE EXTENSION pgcrypto;便可使用encrypt函数和decrypt函数。
2、使用AES加密方法
示例SQL:
-- 加密
SELECT encode(encrypt('abcd1234', '0123456789ABHAEQ', 'aes-cbc/pad:pkcs'), 'base64'); -- IlBruWclssA3y9oOsgMQpw==-- 解密
SELECT encode(decrypt(decode('IlBruWclssA3y9oOsgMQpw==','base64'), '0123456789ABHAEQ', 'aes-cbc/pad:pkcs') , 'escape'); -- abcd1234
3、使用pgcrypto模块进行列的加密和解密
select encode(decrypt(passwd::bytea,'Keypwd','des-ecb'),'escape') from t_user;
4、更新平台加密
例如:a::bytea(字段名称:字段类型)
update test s set b=(SELECT encode(encrypt(a::bytea, '607a8d9d8ff4a98d', 'aes-cbc/pad:pkcs'), 'base64') from test t where s.a=t.a)
参考资料:
PostgreSQL进行列加密解密 - 简书:PostgreSQL进行列加密解密
AES加解密 - Postgresql加密,Java解密 - Jamin.Xie - 博客园:AES加解密 - Postgresql加密,Java解密
https://www.jb51.net/article/204337.htm:postgresql 中的加密扩展插件pgcrypto用法说明
postgre自带的pgrypto之encrypt和decrypt - 简书:postgre自带的pgrypto之encrypt和decrypt
PostgreSQL之 使用扩展Extension - lnlvinso - 博客园:PostgreSQL之 使用扩展Extension
postgres支持AES加密配置相关推荐
- aes子密钥生成c语言_HBase配置AES加密
特别说明:该专栏文章均来源自微信公众号<大数据实战演练>,欢迎关注! 版本: HDP:3.0.1.0 HBase:2.0.0 一.前言 为了避免第三方非法访问我们的重要数据,我们可以给HB ...
- HBase配置AES加密
版本: HDP:3.0.1.0 HBase:2.0.0 一.前言 为了避免第三方非法访问我们的重要数据,我们可以给HBase配置加密算法,目前HBase只支持使用aes加密算法,用于保护静态的HFil ...
- 使用AES加密配置文件
考虑到数据库连接密码直接配置在xml中,项目流转出现密码泄露隐患,这里直接对密码进行AES加密 <!-- 配置 读取properties文件 jdbc.properties --> ...
- cryptojs aes加密每次结果不同_Javascript加密算法标准库,支持Nodejs+浏览器——crypto-js...
介绍 crypto-js是一个前端Javascript标准加密算法库,CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法.有时候项目涉及到的敏感数据比较多,为 ...
- 循序渐进学spring security 第八篇,如何配置密码加密?是否支持多种加密方案?
文章目录 回顾 密码明文会带来什么问题? 如何加密? PasswordEncoder 加密接口 如何配置? 加密的密码在登录的时候是怎么校验的? 默认的加密是什么? DaoAuthentication ...
- snmp v3 参数_snmp v3的安全配置 snmp认证与加密配置(53)
如果你觉得你得服务器信息暴露在外面没关系,或者说服务器安全限制的很严格,不需要对snmp做一道验证,那么你可以打住,否则继续往下看.snmp v2配置请参考上一节<snmp安装配置 zabbix ...
- openwrt支持wpa3加密
目前openwrt19.07发行版支持wpa3加密,详细请查看openwrt官网wpa3介绍 安装wpad-openssl make menuconfig选择wpad-openssl Network ...
- Spring Boot加密配置属性--Spring Cloud Vault详解
项目中敏感配置信息一般需要进行加密处理,比如数据库密码,Spring Boot内置不提供加密支持,不能加密配置文件信息,在官方文档中提供了自定义Environment和Spring Cloud Vau ...
- nodejs php aes加密解密,nodejs aes 加解密实例
如下所示: 'use strict'; const crypto = require('crypto'); /** * AES加密的配置 * 1.密钥 * 2.偏移向量 * 3.算法模式CBC * 4 ...
最新文章
- c语言进位程序,c语言中如何做带进位位移
- python you-get下载视频-使用python库之you-get下载视频
- php写接口的注意事项,接口的调用注意事项
- PyCharm----快捷键
- 使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符
- Linux绘图函数与驱动,Linux中与驱动相关的ioctl函数
- bin文件编辑_为MediaWiki安装可视化编辑器VisualEditor
- MySql 一条更新语句是如何执行的? MySql杂谈、MySql WAL 技术
- Java-当前对象this
- 【MySQL】Linux下登录mysql时忘记密码了怎么办?
- rs485接收中断函数使能_RS485通讯几种常见问题
- 谁“杀死”了杀毒软件
- BUUCTF-神秘龙卷风
- Android开机自动运行
- 公司网站被黑 跳转到彩票网站的处理解决办法
- 计算机体系结构 第一章 计算机系统结构的基础知识(2)
- hive中的order by、sort by、distribute by、cluster by排序
- 智星云平台MatDEM问题集
- 媒体实录:百度林元庆第一时间解读百度大脑VS.最强大脑第一场
- 信息安全数学基础(仅供个人复习使用)
热门文章
- SCI、EI论文检索,引用格式
- 虚拟机CentOS无网络连接
- 老男孩python2020年31期学习记录贴
- 数字水印常见攻击类型汇总,噪声,缩放,旋转,剪切(附matlab代码)
- pycharm的主菜单消失如何解决(“File-Edit-Navigate-View”等菜单丢失)
- Matlab-函数拟合
- 小程序-报错 xxx is not defined (已解决)
- 平板上pyto软件_平板电脑性价比排行大更新!
- html的悬停图片圆形,css3炫酷圆形图片鼠标滑过特效
- 存储过程中 IN,OUT,INOUT类型参数的区别