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

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

推荐10款好玩的Steam生存游戏,活下去已经不仅仅需要吃饱穿暖近年来在现实世界掀起了一股荒野求生的热潮,实际上以生存为题材的游戏早就已经兴起了。在游戏中,生存玩法更加丰富刺激,接下来不妨来为大家推荐十款Steam上有趣的生存游戏吧。第一款为森PC端的荒野大镖客依然震撼,不愧是游戏中的艺术品一眼望不到尽头的西部荒野中,你策马走过,马蹄扬起氤氲的烟尘,月光不带任何温度的穿过巨大的仙人掌,在你身后留下一片斑斓。前路是现代社会和工业时代的轰鸣声,背后则是正在逐渐逝去的自由和数字游戏,分享快乐朋友们,我用另外一种方式给大家分享大家都知道的数字游戏希望你会看懂,下面先说排,后说弟。今天的排骨定位价为百天02569元中午03489元晚上04579元毒价为579元综合考虑45关于利用游戏漏洞异常获取游戏道具行为的处理公告亲爱的旅者我们发现有少量玩家存在恶意利用游戏漏洞异常获取游戏道具的行为,目前该问题已经进行修复。经核实,共有205名玩家利用漏洞非法获取游戏资源恶意转移道具影响游戏秩序。为此,我们年终特卖与每周商城轮换大家早上好中午好晚上好我是Truth哇废话不多说,直接开始那么在北京时间12月22日凌晨2点,我们终于迎来了年终特卖!!!(重生噶韭菜Time)本次年终特卖的内容则是大家期待的瓦尔基里伴生皮与生俱来!的换色(注意,原皮貂蝉唤灵魅影投票结束,方案二碾压方案一,守约新皮肤暂定天蝎座对于貂蝉的五五开黑节皮肤,相信玩家现阶段肯定是愈发熟悉了,毕竟,这款皮肤最新是被官方公布出来了具体形象。虽然公布出来的形象有两个,但由于是会从这两个形象中投票抉择出来一个,所以在最在四分五裂的土地上建立一个属于自己的战团。骑马与砍杀战团游戏简介骑马与砍杀战团是动作角色扮演类游戏骑马与砍杀的大型DLC。与原作类似玩家能够扮演战场的指挥官,排兵布阵身先士卒,也能够扮演侠客浪迹天涯。在剧情之外,游戏给予了玩家很高的自由DOTA2你们酱油出绿鞋,真的不缺蓝吗?在诸多竞技游戏中,就DOTA2对于蓝条是永远没有舍弃的。像其他竞技游戏,有些会设置怒气值,有些会设置冷却预存使用次数不需要魔法蓝条。再加上DOTA2中一些终极技能的冷却时间实在太久暗黑2职业改动,死灵大军再添一成员,全新职业德鲁伊登场说游戏,聊故事,大家好,我是小翎暗黑2重制版的天梯赛季,终于将要开放。与此同时,更加重磅的消息,则是同时开启职业平衡系统与全新的符文之语,距离上次如此大的补丁更新,距今已有十余年的原神2。4前瞻钟离即将入池?2。5疑似复刻万叶或神里大家好,我是玩咖小编冰洛,今天给大家带来有关于2。4卡池的消息(有可能三复刻)。此刻,2。5的卡池信息。此外还有渊下宫的图片。一岩王帝君钟离要进卡池?其实,关于2。4版本到底出什么坦克世界一梭子1500轻易斩杀8级重坦的索玛SM为什么不推荐买?10200金币不打折各位车长老爷们大家好啊,这里是坦克零距离。今天国服每日精选卖的是F系8级金币重坦索玛SM,我上一篇文章说它还是在一年前,然而在1。15版本的现在,索玛SM的生存
KPL天下没有不散的宴席,AG不可能永远整齐,也没人永远在巅峰从我自己的看法来说1。教练问题月光不拿双边和张良就行思维有点停留在几年前bp时好时坏但愿这丫是在藏东西吧2。选手问题初晨打法要变该进野区进野区不要说是对面能不能进他野区我一个观众都云顶之弈S6平衡性出色非常耐玩梨老师直言比S5好玩多了因为金铲铲之战新版本内容基本和云顶之弈一致,无论是端游还是手游,都迎来了一个百花齐放的版本。海克斯科技系统带来巨大变数首先是S6版本特有的海克斯科技系统,想必很多玩家至今仍没有看全蜘蛛侠或联动堡垒之夜下赛季加入游戏堡垒之夜已经与众多漫威超级英雄进行过联动了,而下一个来到堡垒之夜游戏的超级英雄或将是蜘蛛侠。根据爆料者FortniteIntel的说法,蜘蛛侠将在堡垒之夜下个赛季加入游戏。推特账号是XYG太菜,还是版本陷阱?eStar大战TES,金蝉没有任何作为陌陌聊游戏,给您带来精彩激烈的KPL赛事资讯!KPL秋季赛常规赛已经接近尾声了,对于S组的六支战队来说,他们想要在季后赛能够走得更远,就必须去争取拿到一个胜者组的名额,这样在季后赛原神近期直播表现陷疲软状态,新版本上线或将迎来回调数据来源头榜数据统计时间10月19日11月17日10月中旬,原神2。2版本雾海悬秘境上线带动了这款游戏的日活观众上升,以及在直播行业相关数据表现的回暖。但从头榜统计到的原神在近三十传奇之后风靡网吧的十大游戏,你玩过几个?玩过的都已经老了曾经可能有人没玩过传奇,但你们大多数都玩过下面那几款游戏,可以说是我们小时候的回忆,就让小编来骗点下曾经玩的十大单机游戏!10抢滩登陆在敌人不断来袭的海滩上,我们需要利用重型武器不哈利波特手游虎牙西客练成烈火寒冰掌,烟花冰冻直接送走对手哈利波特手游是最近很火的一款游戏,随着MA2赛季的到来,在不少大神玩家和主播的推动下,越来越多有趣的流派诞生。在单排里面,还有一些比较强势的阵容,但是在双排里面,随机性就非常强了。认识一下星球大战银河星际游船里的6位新角色星球大战官方网站公布了星球大战银河星际游船(GalacticStarcruiser)主题酒店里的6位新角色1丽约拉基万船长(CaptainRiyolaKeevan)作为潘托拉人(P现在的上班族到底需要一款什么样的手游?从RPG到FPS模拟经营到生存与格斗线上多人到单机,怪兽叔玩过的手游少说也有上百款。无论是从生活还是工作角度上,我的重心都一直围绕着游戏展开我玩游戏的频率可以覆盖到碎片化时间连续时王国保卫战4手游迪纳斯城堡战役地图通关教程分享手游巴士(www。shouyoubus。com)2021年11月18日讯迪纳斯城堡战役在主线正传中是一个比较难打的地图,不熟悉地图玩法的特性会很吃亏,那么王国保卫战4手游迪纳斯城堡英雄联盟或将增加第7个物品栏!拳头泄露测试截图近日,传闻拳头不小心泄露了一张英雄联盟中游戏对战结算页面的截图,这是开发人员用于测试的版本,而且令人意外的是,该截图显示游戏的物品栏变成了7个,也就是说玩家可以拥有7件装备了,后来