通过加密算法,对配置中心的敏感数据进行加密
===========采用对称加密算法加密============
对称加密是最简单,最快速的一种加密方式,加密和解密是用同样的密钥。
检查加密环境:[ip]:[port]/encrypt/status(ip和port即为所启动的服务的ip和port)
如果显示{"description":"No key was installed for encryption service","status":"NO_KEY"}
则提示没有为加密服务安装密钥,这种情况下就需要配置加密环境:
1.在配置文件中设置密钥: encrypt.key=wang
2.配置jce:
1)http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载jar包并解压,把jar文件上传到需要安装jce的计算机上的JDK或JRE的security目录下,覆盖原文件即可。
JDK:将两个jar文件梵高%JDK_HOME%\jre\lib\security下(默认的jdk不支持jce)
JRE:将两个jar文件放到lib/security目录下
3.spring cloud的一个bug
Dalston SR4,SR3,SR2均不能配置加密,需要调整到Dalston SR1
4.进行加密
加密(post请求) [ip]:[port]/encrypt
解密(post请求) [ip]:[port]/decrypt
tips:要将加密后的密文放在配置文件中并且在字串前面加上{cipher},相当于告诉spring cloud需要解密。
----------------------------------------------------------------------------------------------------------------------
===========使用非对称算法,实现敏感数据加密================
java使用keytool来做非对称加密
keytool是一个java数据证书的管理工具,keytool将密钥和证书存储在一个keystore文件中。
keystore文件包含两种数据:密钥实体-密钥(私钥)和配对公钥
生成keystore文件的命令
keytool -genkeypair -alias "config-info" -keyalg "RSA" -keystore "encrypt-info.keystore"
alias指定密钥对的别名,该别名是公开的,encrypt-info.keystore表示keystore文件的路径
步骤:
1.通过keytool命令生成keytools文件,将其放在resource目录下
2.在配置文件中配置keystore的文件信息
#keystore文件路径
encrypt.key-store.location=encrypt-info.keystore
#alias指定密钥的别名,该别名是公开的
encrypt.key-store.alias=config-info
#storepass密钥仓库
encrypt.key-store.password=wang123
#keypass用来保护所生成的密钥对中的私钥
encrypt.key-store.secret=wang456
3.模拟HTTP的post请求,ip:port/encrypt,生成加密之后的字串
4.将加密后的字符串放在配置文件中,加{cipher}前缀
-----------------------------------------------------------------------------------
配置中心的用户安全认证
通过配置中心服务端的ip和端口可以直接通过ie访问配置中的信息,而且是直接解密之后的明文,所以需要添加用户安全认证,使用spring security。
步骤:
1.在配置中心的服务端加入spring-security包
2.在服务端的配置文件中加入:
#开启基于http basic的安全认证
security.basic.enabled=true
security.user.name=user
security.user.password=123456
3.由于服务端配置了用户名和密码,所以在客户端也需要加入用户名和密码(为客户端服务加权限)
在客户端的配置文件中加入
spring.cloud.config.username=user
spring.cloud.config.password=123456
- 对通过网络传输的数据进行加密
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- 在spring-config文件中对jdbc数据配置进行加密处理
- oracle中通过DBMS_CRYPTO包对表敏感字段进行加密
- oracle12c:通过oracle客户端工具配置tns,并使用sqlldr进行批量导入数据
- java实现RSA非对称加密算法 对数据进行加密【附代码】
- 通过jdbc向数据库中插入数据,并对密码进行加密
- 接口API中的敏感数据基于AES进行安全加密后返回
- 【java基础:JDBC】通过读取配置文件进行数据库连接并读取数据的Demostration
- 未开启自定义菜单 由于开发者通过接口修改了菜单配置,当前菜单配置已失效并停用。你可以前往开发者中心进行停用。
- 接口加密《一》:移动应用中,通过在客户端对访问的url进行加密处理来保护服务器上的数据
- jasypt 实现对配置文件中的数据密码进行加密
- http接口加密《一》:移动应用中,通过在客户端对访问的url进行加密处理来保护服务器上的数据
- XML编程实例--对xml配置文件中的数据进行增、删、改、查
- Solr II——通过SolrJ与Solr服务器进行数据交互
- 通过httpd.conf来优化大数据访问 - sever 2008 Apache优化配置
- 使用weblogic连接池来得到数据库连接(通过配置文件进行读取的优化方案)
- 【Android数据加密与完整性校验之使用MessageDigest类进行MD5/SHA1】MessageDigest类对文件或字符串生成加密摘要进行完整性校验(三)
- 使用两种不同配置的K近邻回归模型对美国波士顿房价数据进行回归预测