当前位置: 首页 > news >正文

阿里服务器租用价格表网站需要优化的小型公司

阿里服务器租用价格表,网站需要优化的小型公司,在线看免费网站,百度搜索排名服务1背景#xff1a; springboot项目中要求不能采用明文密码#xff0c;故采用配置文件加密. 目前采用有密码的有redis nacos rabbitmq mysql 这些配置文件 2技术 2.1 redis nacos rabbitmq 配置文件加密 采用加密方式是jasypt 加密 2.1.1 加密步骤 2.1.2 引入maven依赖 …1背景 springboot项目中要求不能采用明文密码故采用配置文件加密. 目前采用有密码的有redis nacos rabbitmq mysql 这些配置文件 2技术 2.1 redis nacos rabbitmq 配置文件加密 采用加密方式是jasypt 加密 2.1.1 加密步骤 2.1.2 引入maven依赖 !-- 加密相关start --dependencygroupIdcom.github.ulisesbocchio/groupIdartifactIdjasypt-spring-boot-starter/artifactIdversion3.0.3/version/dependency!-- 加密相关end --2.1.3 加注解EnableEncryptableProperties 在启动类中加入EnableEncryptableProperties 2.1.4 在配置文件中配置盐 加密方案 jasypt:encryptor:# 加密算法algorithm: PBEWITHHMACSHA512ANDAES_256# 加密使用的盐password: jaspyt_password2.1.5 编写测试类加密/解密密码 /*** author * description: 加密解密测试*/ SpringBootTest(classes MycodeApplication.class) RunWith(SpringRunner.class) EnableEncryptableProperties public class JasyptTest {Autowiredprivate StringEncryptor stringEncryptor;/*** 加密解密测试*/Testpublic void jasyptTest() {// 加密System.out.println(stringEncryptor.encrypt(nacos)); // JSrINYe4IBotHndGjX1hnmY3mtPNUJlXjP12cx1pHqUz2FNXGPu3Frnajh3QCXg// 解密System.out.println(stringEncryptor.decrypt(0q/CVaDpjJ/kG7Je5Z2GjL99ahQvOxqjLXDHsDShkQIZlmnI7UWup7Sltd2N4cV7));// System.out.println(stringEncryptor.decrypt(rP4MtUODPjDz66wFfm20DR0y5YvWCI8bX1cKcoyPmEzPBZ7ylVJuyUAZL1dz7gfW)); // root}public static void main(String[] args) throws Exception{/* String[] arr ConfigTools.genKeyPair(512);System.out.println(privateKey:arr[0]);System.out.println(publicKey:arr[1]);String publicKey MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJByhUUvx4LNlBZFWDhyhaTRvy2J0W9QJ2XXccOJaCBPhUb9Af7UnyaYUra0pRvwlX1VqMCtM4n3du5IpXedAwcCAwEAAQ;String encryptStr XgBw9PoKkns4FP1oYIvLc7UtjawEl8VWvSmcLYI5ekxUm0CoDa2saIB8ndQylo2jNXfqbYm6jz8Vzq7dOOpXg;System.out.println(encryptStr:encryptStr);System.out.println(decryptStr:ConfigTools.decrypt(publicKey,encryptStr));*/String privateKey MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAkHKFRS/Hgs2UFkVYOHKFpNG/LYnRb1AnZddxw4loIEFRv0B/tSfJphStrSlG/CVfVWowK0zifd27kild50DBwIDAQABAkAn8kPA2nHGTqwBbLP1CFbFOeww38g3jGcY1vfzJ3DQXj/tf2fiBtiwzXQkB9c2Z24XiXBo/fo3c1tTOxEtdHBAiEA9SsvZgwa1ZM2QpKmrkcXC5wdN/2FaptTWGOK0yjCp8CIQCW0W7QYwsbPcLKDTLLZ9iCDT6ckx3sl/ynnPeWc34WmQIgJ8x7T7M6eNHjW3uKHtPvS7UlkQcX9vwLhVdzG1MaUCIQCROnM72DOhpaAAl2bSRBPi3lzRKdYILMGpDw2AFi2YQIhAO5eAxXQwe65AM2lVg0C38rwMBvmyqU0ljnOLkRkL1t;String encryptStr ConfigTools.encrypt(privateKey,Safm987);System.out.println(encryptStr);String dbpassword ConfigTools.decrypt(MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJByhUUvx4LNlBZFWDhyhaTRvy2J0W9QJ2XXccOJaCBPhUb9Af7UnyaYUra0pRvwlX1VqMCtM4n3du5IpXedAwcCAwEAAQ, XgBw9PoKkns4FP1oYIvLc7UtjawEl8VWvSmcLYI5ekxUm0CoDa2saIB8ndQylo2jNXfqbYm6jz8Vzq7dOOpXg);System.out.println(dbpassword);//System.out.println();} }2.1.6 在用加密之后的秘钥替换要来的密码 注意要用ENC包裹起来 注意要用ENC包裹起来 注意要用ENC包裹起来 server:port: 9105 jasypt:encryptor:# 加密算法algorithm: PBEWITHHMACSHA512ANDAES_256# 加密使用的盐password: jaspyt_password spring:mvc:pathmatch:matching-strategy: ant_path_matchermain:allow-circular-references: trueapplication:name: dp-ccb### cloud 相关配置cloud:nacos:discovery:server-addr: 172.0.0.1:8848namespace: publicusername: nacos# 使用ENC()包裹标识为加密之后的否则无法解密会报错password: ENC(rP4MtUODPjDz66wFfm20DR0y5YvWCI8bX1cKcoyPmEzPBZ7ylVJuyUAZL1dz7gfW)2.2 mysql 加密 驱动为DruidDataSource的方式上面的加密方式不能解析密码 加密方式为import com.alibaba.druid.filter.config.ConfigTools.decrypt 2.2.1 技术实现原理 在创建链接的时候注入密码解密器。 2.2.2 代码实现 自己实现DruidPasswordCallback 重写setProperties方法 package com.example.mycode.utils;import com.alibaba.druid.filter.config.ConfigTools; import com.alibaba.druid.util.DruidPasswordCallback; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.util.Properties;/*** author sz* version 1.0* date 2023-02-13 21:07*/public class MyDataSourceCallback extends DruidPasswordCallback {private static final Logger LOGGER LoggerFactory.getLogger(MyDataSourceCallback.class);Overridepublic void setProperties(Properties properties) {super.setProperties(properties);String password (String) properties.get(password);String publickey (String) properties.get(publickey);if (StringUtils.isNotBlank(password)) {try {String dbpassword ConfigTools.decrypt(publickey, password);setPassword(dbpassword.toCharArray());} catch (Exception e) {LOGGER.error(Druid ConfigTools.decrypt, e);}}} } 2.2.3 用import com.alibaba.druid.filter.config.ConfigTools.decrypt 自带的加密解密方式 加密密码 public static void main(String[] args) throws Exception{String privateKey MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAkHKFRS/Hgs2UFkVYOHKFpNG/LYnRb1AnZddxw4loIEFRv0B/tSfJphStrSlG/CVfVWowK0zifd27kild50DBwIDAQABAkAn8kPA2nHGTqwBbLP1CFbFOeww38g3jGcY1vfzJ3DQXj/tf2fiBtiwzXQkB9c2Z24XiXBo/fo3c1tTOxEtdHBAiEA9SsvZgwa1ZM2QpKmrkcXC5wdN/2FaptTWGOK0yjCp8CIQCW0W7QYwsbPcLKDTLLZ9iCDT6ckx3sl/ynnPeWc34WmQIgJ8x7T7M6eNHjW3uKHtPvS7UlkQcX9vwLhVdzG1MaUCIQCROnM72DOhpaAAl2bSRBPi3lzRKdYILMGpDw2AFi2YQIhAO5eAxXQwe65AM2lVg0C38rwMBvmyqU0ljnOLkRkL1t;String encryptStr ConfigTools.encrypt(privateKey,123456);System.out.println(encryptStr);String dbpassword ConfigTools.decrypt(MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJByhUUvx4LNlBZFWDhyhaTRvy2J0W9QJ2XXccOJaCBPhUb9Af7UnyaYUra0pRvwlX1VqMCtM4n3du5IpXedAwcCAwEAAQ, XgBw9PoKkns4FP1oYIvLc7UtjawEl8VWvSmcLYI5ekxUm0CoDa2saIB8ndQylo2jNXfqbYm6jz8Vzq7dOOpXg);System.out.println(dbpassword);//System.out.println();}2.2.4 在配置文件中配置信息 核心关键是配置connectionProperties 和passwordCallbackClassName 注意要connectionProperties 配置公钥和加密的密码 passwordCallbackClassName 要配置自定义的解密限定名 dataSources:ds:dataSourceClassName: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://172.27.15.74:3306/alter_table_test?serverTimezoneGMT%2B8useUnicodetruecharacterEncodingUTF-8useSSLfalseautoReconnecttruefailOverReadOnlyfalseallowMultiQueriestrueusername: rootpassword: XgBw9PoKkns4FP1oYIvLc7UtjawEl8VWvSmcLYI5ekxUm0CoDa2saIB8ndQylo2jNXfqbYm6jz8Vzq7dOOpXgpasswordCallbackClassName: com.example.mycode.utils.MyDataSourceCallbackconnectionProperties: config:decrypttrue;publickeyMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJByhUUvx4LNlBZFWDhyhaTRvy2J0W9QJ2XXccOJaCBPhUb9Af7UnyaYUra0pRvwlX1VqMCtM4n3du5IpXedAwcCAwEAAQ;passwordXgBw9PoKkns4FP1oYIvLc7UtjawEl8VWvSmcLYI5ekxUm0CoDa2saIB8ndQylo2jNXfqbYm6jz8Vzq7dOOpXginitial-size: 20min-idle: 5max-active: 50max-wait: 60000time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query-timeout: 10000test-while-idle: truetest-on-borrow: falsetest-on-return: falsepool-prepared-statements: falsemax-pool-prepared-statement-per-connection-size: 20
http://www.w-s-a.com/news/652021/

相关文章:

  • 如何把自己做的网站放到内网seo优化网络
  • 北京网站建设net2006厦门优化公司
  • 制作网页前为什么要建立站点菏泽百度网站建设
  • 做影视网站引流网页美工设计课程教案
  • 响应式网站开发流程图网站优化seo教程
  • 做汽车团购网站百度官网平台
  • 网站增加关键字建设旅游网站的功能定位
  • 怎么搭建源码网站义乌网络
  • 定远规划建设局网站wordpress云主机安装
  • 慈溪市网站开发软件开发文档国家标准
  • 本地佛山顺德网站设计公司的网站如何建设
  • 网站建设前十名网站建设 招标书
  • 手机网站标准百度搜索关键词排名优化推广
  • 中国空间站科幻作文1000字wordpress运行库
  • 徐州做网站的wordpress可视化编辑器排行
  • 官方网站英语上海公司注册核名查询
  • 东莞网站建设推广云南昆明最新消息
  • 上网站乱码网页设计与网站建设案例教程
  • 宣讲网站建设wordpress多媒体主题
  • 如何成立网站互联网开发是做什么的
  • 网站首页的尺寸做多大网页图片排版
  • 龙岩天宫山索道多少钱河南网站排名优化哪家好
  • 北京做网站设计程序员和网站开发
  • 个人 做自媒体 建网站图片制作成视频的手机软件
  • h5 建站网站 移动端重庆潼南网站建设价格
  • 商企在线营销型网站怎么做时光网站
  • 网站建设方案论文1500竞价托管哪家便宜
  • 使用cdn的网站宣武网站建设
  • 营销型网站怎么建设企业网站Wap在线生成
  • 网站建设服务费应该做到什么科目广州网页制作服务商