拒绝裸奔,SpringBoot集成Jasypt加密敏感信息(springbootmd5加密)
使用中的一些坑
方式2、降低jasypt的版本 - 使用2.x的版本2、加解密秘钥如何存储
「如果秘钥写在代码或者配置文件,一旦代码泄露,那别人就可以使用秘钥解密我们的密文,这样对敏感信息加密的作用就不存在了」,因此,秘钥不能以明文形式存储在代码或者配置文件中,下面就介绍一些安全的存储秘钥的形式。
「方式1、把秘钥当做程序启动时的命令行参数(推荐),示例如下:」
java -jar xxx.jar --jasypt.encryptor.password=秘钥「方式2、把秘钥当做程序启动时环境变量(推荐),示例如下:」
java -Djasypt.encryptor.password=秘钥 -jar xxx.jar方式3、自定义加密、解密器逻辑(这个自定代码,本文不展开讲解,后续有需要重开一篇文章详细讲解)
如何避免Git泄露
因为开发者的疏漏,不小心将源码提交到开源仓库中的新闻不在少数,「作为一个开发团队,如何采取一些有效的措施去最小程度防止出现这种情况呢?」 除了本文介绍的对敏感信息加密,并合理保存秘钥外,还有以下的一些方式可以参考。
「方式1、更规范的代码提交、推送制度、培养开发者的安全意识:」 很多时候,代码的泄露除了故意为之外,大多数是因为不小心导致,因此在项目中可以通过合理管控权限的方式来防止代码泄露。
「方式2、合理利用Git忽略文件(.gitignore):」 通过gitignore文件配置匹配规则,最大程度避免敏感信息上传到Git仓库。
「方式3、借助第三方工具,在提交、推送时检测代码是否有敏感数据:」 常见的如git-secrets,在提交前会对变更内容做检测,如果检测到预期的提交内容可能包含敏感信息,那它们将会拒绝提交。
「方式4、代码的Code Review:」 团队leader和成员之间可以互相合作,在代码推送合并时检测是否存在敏感数据,这样不仅可以排查出敏感数据,还能够学习彼此之间的一些编码技巧。
问题探讨
在编写本篇文章内容时,无意中看到一个消息:Nginx之父被俄罗斯警方带走,「起因是因为其老东家 Rambler举报Nginx是他在就职期间的业务时间进行开发的一个软件,Rambler认为其应该有该软件代码的所有权。」
针对这一事件大家有什么看法呢?「程序员在就职期间的业务时间开发或者编写的项目应该归属于公司?欢迎在文章下留言讨论。」
写在最后
源代码安全在技术企业中意味着竞争力、生命线,一旦泄露,轻则造成项目失败,重则可能导致公司倒闭,这一关检测的重要性不言而喻,作为一名开发者,也应该时刻培养自己的安全意识,在编码时规避掉相应的风险。
「如果文章对你有帮助,欢迎给我点赞、关注。如有疑问,欢迎添加博主进行交流。」
免责声明:本文内容由互联网用户贡献,不作为任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!如有侵权请联系我们删除,本文链接:http://www.panmou.com/zixun/60929.html。