jasypt加密原理,
目录
引入依赖生效作用域应用工具类配置属性一览进阶爪哇简化加密是一个爪哇岛库,它允许开发人员以最小的成本将基本的加密功能添加到项目中,而无需深入了解密码学的工作原理。
引入依赖
依赖关系groupIdcom.github.ulisesbocchio/groupId artifactId jas ypt-spring-boot-starter/artifactId版本3 . 0 . 4/版本/依赖关系
生效
如果是为板簧罩项目的配置文件加密,则无需额外配置,启动类上的@SpringBootApplication自动会将其注入程序,使其生效。
作用域
指定配置文件的作用域,其他配置文件不受jasypt影响
@ Configuration @ EncryptablePropertySources({ @ EncryptablePropertySource( class path : sentinel-1。properties )、@ EncryptablePropertySource( class path : sentinel-2。属性)})
应用
工具类
导入org。jas ypt。加密。stringen cryptor导入org。jas ypt。加密。pbe。pooledpestringencryptor导入org。jas ypt。加密。pbe。配置。simplestringpbeconfig/* * * * @作者Issa vior */public class jas yptutil {/* * * org。jas ypt。加密。字符串加密器对象*/private静态字符串cryptor string cryptor=null公共静态字符串cryptor getInstance(字符串密钥)抛出异常{ if(秘钥==null 秘钥。修剪().等于(" " { system。出去。println(“秘钥不能为空!);抛出新异常(org。jas ypt。加密。特林根密码机秘钥不能为空!);} if(stringen cryptor==null){ pooledpestringcrytor encryptor=new pooledpestringcrytor();SimpleStringPBEConfig config=new SimpleStringPBEConfig();//这个秘钥必须是我们自己定义配置。设置密码(密钥);配置。set算法( pbewithhmacsha 512 and AES _ 256 );配置。setkeyobtentinitiations( 1000 );配置。设置poolsize(" 1 ");配置。设置提供商名称( sun JCE );配置。setsaltgenertorclassname( org。jas ypt。盐。randomsaltgenerator’);配置。setivgeneratorclassname( org。jas ypt。四。randomvgenerator’);配置。setstringoutputtype( base64 );加密机。设置配置(config);stringEncryptor=加密机;} return String encryptor } public static void main(final String[]args){//秘钥字符串字符串secretKey=123!@#;//待加密的明文密码字符串传递= 123456尝试stringen cryptor stringen cryptor=jaspytutil。getinstance(密钥);字符串加密传递=字符串加密器。加密(通过);System.out.println(【通过】被加密成【‘加密通行证’】’);字符串加密机。解密(加密传递);系统。出去。println([加密传递)被解密成【‘清通’】’);} catch(Exception e){ e . printstacktrace();} }}
配置
jassypt :加密器:密码: 123!@#my: #必须用附件()包起来,这样jasypt才能识别出来这个密码需要解密再传给应用程序msg: ENC
属性一览
进阶
其内部属性都是可以重写的,包括附件()等。
当然了,你的盐和密码一定要分开存储,也就是说,加密后的密码配置在配置文件中,加密的盐可以放在启动参数上。
到此这篇关于详解如何利用jasypt实现配置文件加密的文章就介绍到这了,更多相关jasypt配置文件加密内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。