范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

SpringBoot如何保护配置文件中的敏感信息

  说明
  使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。
  打开 application.properties 或application.yml ,比如 MySql登陆密码,Redis登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。
  jasypt由一个国外大神写了一个springboot下的工具包,用来加密配置文件中的信息。
  GitHub Demo地址
  https://github.com/jeikerxiao/spring-boot2/tree/master/spring-boot-encrypt   数据用户名和数据库密码加密为例1. 引入包
  查看最新版本可以到:
  https://github.com/ulisesbocchio/jasypt-spring-boot            com.github.ulisesbocchio         jasypt-spring-boot-starter         2.1.0  2. 配置加/解的密码# jasypt加密的密匙 jasypt:   encryptor:     password: Y6M9fAJQdU7jNp5MW 3. 测试用例中生成加密后的秘钥@RunWith(SpringRunner.class) @SpringBootTest public class DatabaseTest {      @Autowired     private StringEncryptor encryptor;      @Test     public void getPass() {         String url = encryptor.encrypt("jdbc:mysql://localhost:3306/mydb?autoReconnect=true&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");         String name = encryptor.encrypt("root");         String password = encryptor.encrypt("123456");         System.out.println("database url: " + url);         System.out.println("database name: " + name);         System.out.println("database password: " + password);         Assert.assertTrue(url.length() > 0);         Assert.assertTrue(name.length() > 0);         Assert.assertTrue(password.length() > 0);     } }
  下面是输出加密字符串:  database url: 6Ut7iADnHS18cManoFJuNRQ5QEDfcho/F96SOhsHZdXlHYCa5PSrz6rk48I9eHB7qPp5AxDFBk9xi0I1hi6BJ0DSPYA9443gBAk5JDUxDufjUKsdh6knZJLNELmFJzYrDvCu4S0x22MYdZqJDLbyDUU2JcoezCvs156vmsPgU4A= database name: fmai72yGYKGlP6vTtX77EQ== database password: GPMG7FGV+EA9iGkC27u67A== 4. 将加密后的字符串替换原明文
  applicatioin.yml  server:   port: 8080 spring:   # 数据库相关配置   datasource:     driver-class-name: com.mysql.cj.jdbc.Driver     # 这里加上后缀用来防止mysql乱码,serverTimezone=GMT%2b8设置时区     url: ENC(h20YiPrvNnuuTGjlrE1RVpudMuIQAS6ZPSVo1SPiYVyLen7/TWI5rXVRkStA3MDcoVHQCmLa70wYU6Qo8wwtnsmaXa5jykD3MNhAp5SGJxHsTG5u7tflPdnNmOufyhdsYPxBGWAgibYs9R7yBfrvtwBTRbe096APd3bnG3++Yro=)     username: ENC(sT6BztXbJEa71eg3pPGYMQ==)     password: ENC(MpSZFJ9ftq+3+VUANZjr0Q==)   jpa:     hibernate:       ddl-auto: update     show-sql: true   # 返回的api接口的配置,全局有效   jackson:    # 如果某一个字段为null,就不再返回这个字段     default-property-inclusion: non_null     date-format: yyyy-MM-dd HH:mm:ss     serialization:       write-dates-as-timestamps: false     time-zone: GMT+8 # jasypt加密的密匙 jasypt:   encryptor:     password: Y6M9fAJQdU7jNp5MW
  注意: 上面的   ENC()   是固定写法.  附言部署时配置salt(盐)值
  为了防止salt(盐)泄露,反解出密码.可以在项目部署的时候使用命令传入salt(盐)值:  java -jar xxx.jar  -Djasypt.encryptor.password=Y6M9fAJQdU7jNp5MW
  或者在服务器的环境变量里配置,进一步提高安全性。学习资料:Java进阶视频资源
  打开 /etc/profile 文件 vim /etc/profile
  在profile文件末尾插入salt(盐)变量  export JASYPT_PASSWORD = Y6M9fAJQdU7jNp5MW
  编译,使配置文件生效  source /etc/profile
  运行  java -jar -Djasypt.encryptor.password=${JASYPT_PASSWORD} xxx.jar来源:blog.csdn.net/jeikerxiao/article/details/96480136

tap评分高达9。1,黑色沙漠手游终于要来了,你了解了吗?这款史诗级大作在海外150多个国家发行就斩获了无数的大奖,TapTap上评分更是高达9。1分,黑色沙漠手游终于要来了,本作的画面在手游中都是数一数二的,无论是宏观的环境风景,还是细九败一胜的EDG,背后是资本的创新局恭喜EDG,我们是冠军!当这句话被解说喊起来时,5个年轻人已拥抱在一起,屏幕外的数亿观众沸腾起来,点燃了十一月的寒冬。这场胜利来得太不容易了,这个战队太需要这场胜利了,这届年轻人也EDG教练夺冠感言不知道Showmaker想30我们的自信从何而来总决赛已经结束好几天了,这几天来相信大家依然沉浸在夺冠的喜悦中。有时候回想一下今年EDG夺冠的经历,依然感觉像是在梦中一般!当时EDG的处境真的很艰难,四强被三支韩国队伍包围,而且我心中的任天堂Switch游戏排名TOP40本内容来源于什么值得买APP,观点仅代表作者本人作者风语叔W今天,我跟大家分享个人心目中Switch游戏排名TOP40,希望能给正在找游戏的朋友一些参考。不过游戏这东西,特别是一些本月新游回顾与前瞻地平线5使命召唤战地动森2。0及DLC每年差不多到这个时候,就该是使命召唤和战地两个年货老害拼刺刀的时候了,去年因为疫情有所耽搁大家也没有太多印象(可能很多注意力倒是给到了动森),今年终于能在同月亮相,战个痛快。极限竞LOLLPL参加NEST十五强名单公布,EDG二队出战WESN全一队随着2021全球总决赛的落幕,今年拳头官方举办的国际赛事只剩下年底的全明星赛,不过国内的NEST全国电子竞技大赛已经迅速提上了日程11月11日11月18日为15进4,LPL十七支战版本第一硬辅搭档知多少当前版本第一硬辅牛魔王制霸明星返场了,还有不了解双排上分密码的吗?1。艾琳艾琳本身灵活,目前流行的狂暴加时之预言有伤害有坦度,不过缺点就是前期弱势,若加上老牛的双抗可延后出时之预言英雄联盟手游各个线上的王者(不服来辩)最简单的中单爆发型法师安妮!!!优点简单粗暴一套秒人!(R起手眩晕再接QW二连)缺点W空能理解,但是Q居然能空???但Q空的代价是大招必中!独特的施法机制使得安妮的大招是必中的(范VR游戏到底有多好玩?看这些动图就笑了游戏中哪一种游戏最好玩有人说游戏是第九艺术,有人说游戏是精神鸦片,让我说,游戏就是好玩,没有玩过游戏的童年是有缺陷的,需要用一生去治愈。看看我们曾经玩过的游戏,都是用血和泪换来的。S11世界赛荣誉榜公布!Nuguri成尽力局局长,补刀王不是Chovy在11月6日英雄联盟S11全球总决赛中,EDG以32击败DK成功夺冠,而FMVP由中单选手Scout获得,EDG赢下的三场比赛他分别拿到了618113517的完美战绩,算上这个BOEDG夺冠粉丝狂欢,网瘾中年才是游戏氪金主力老牌游戏长盛不衰的秘密在于收割有经济实力的中年男人。文高艺璇编辑金文丰2021年11月7日凌晨,6个平均年龄约32岁的男人高喊着EDG无敌,在青岛某家电竞酒店欢度了2021年最开心
史上最奢侈的游戏?无门槛抽奖!LV200周年纪念手游因为标题点进来的各位你们没有看错,奢侈品牌LV出手游了!为纪念LV创始人路易威登先生200周年诞辰,品牌推出的一款专属游戏,而且这款游戏是玩家们可以免费玩的。许多网友们表示我虽然买动视暴雪公开季度财报,月活玩家流失1。25亿人近日各家游戏公司都公开了截止到6月30日的季度财报,其中包括遭到政府诉讼的动视暴雪,其公开财报显示上半年暴雪的营收未受太大影响,甚至还超过预期,但月活跃用户流失问题较为严重。财报反梅西激情脱裤?震撼我妈一整年!盘点游戏内爆笑BUGBUG真的是任何游戏都逃脱不了的,从大厂制作的游戏到小作坊出来的游戏都不能免受BUG的折磨,有些BUG的出现给我们带来了欢乐,今天我就为大家盘点一些爆笑的游戏BUG。友情提醒观看这网曝光环无限可能存在大逃杀模式,预计年底发售微软光环无限最近开启了为期两天的多人技术性测试,不少玩家发现测试内容中附带了游戏战役模式的剧情细节,对此343呼吁玩家不要剧透。另外有粉丝从测试文件中发现了一段大逃杀(Battle堡垒之夜或联动火影忍者,漩涡鸣人将登场?近日有消息曝出Epic旗下高人气射击游戏堡垒之夜新的联动目标火影忍者将很快开始,不久前官方已宣布联动A妹,堡垒之夜XA妹虚拟演唱会将在8月68日举办。堡垒之夜因特殊的玩法与各种联动幻想中的任天堂元素东奥会开幕式,外媒曝原方案设计图在东京奥运会闭幕之际,外媒放出开幕式原方案的效果图与说明其中关于游戏的节目方案由任天堂宫本茂负责导演,充满游戏元素,且对于接上了里约的东京8分钟。据说这份最初提交的开幕式方案,将文类魂游戏艾尔登法环正式上线,计划2022年1月21日发售FS制作的期待度极高的类魂游戏艾尔登法环已于今日正式开放。游戏也打上了恋爱模拟的标签,该作计划于2022年1月21日正式发售,具体售价暂未公布,支持包含繁简中文在内的14种文本语言封测时会烧高端显卡?亚马逊新作新世界占据Steam榜首HELLO,我来了,我带着游戏走来了,现在是不是很多小伙伴想玩游戏但还不知道有啥新游戏可以玩的,Steam商城最近准备推出好多游戏,其中有一款是Steam商城销售榜榜首,下面让我们永劫无间锁国区的事竟是误会?皮肤联动奥运冠军HelloHello,我又来了,大家肯定想不到吧,居然有我们自己的国产游戏会给老外催着上线开服,但是没想到的还是,这款外国网友催上线的游戏,居然会将我们国区锁了,这多离谱??下面我突发事件!S11总决赛举办地或将由中国改为欧洲今天凌晨,一个令人惊讶的消息传来,英雄联盟S11世界赛的举办地已经从中国改为欧洲。据说是由于拳头为制作团队和选手们在发放中国签证方面遇到了困难。随着LPL这边比赛的持续不断进行,世Apex新热带岛屿地图爆料,或将在11赛季上线根据数据挖掘者推特用户shrugtal的推文消息,Apex英雄第11赛季可能会加入一个新的热带岛屿地图,他还在油管频道发布了推测下一张地图的视频。事实上,关于Apex英雄要推出热带