在SpringBoot中通过jasypt进行加密解密的方法
1.用途
在SpringBoot中,通过jasypt可以进行加密解密. 这个是双向的, 且可以配置密钥.
2.使用:
2.1通过UT创建工具类,并认识jasypt
import org.jasypt.util.text.BasicTextEncryptor;
import org.junit.Test;
public class UtilTests {
@Test
public void jasyptTest() {
BasicTextEncryptor encryptor = new BasicTextEncryptor();
// application.properties, jasypt.encryptor.password
encryptor.setPassword("abc");
// encrypt root
System.out.println(encryptor.encrypt("root"));
System.out.println(encryptor.encrypt("root"));
System.out.println(encryptor.encrypt("root"));
// decrypt, the result is root
System.out.println(encryptor.decrypt("UP/yojB7ie3apnh3mLTU7w=="));
System.out.println(encryptor.decrypt("ik9FE3GiYLiHwchiyHg9QQ=="));
System.out.println(encryptor.decrypt("9Obo/jq9EqmTE0QZaJFYrw=="));
}
}
可以看出, 每次生成的密码是不一样的, 但是通过密钥,可以解密成一样的明文.
2.2在SpringBoot中配置jasypt
2.2.1配置密钥
jasypt.encryptor.password:abc
2.2.2使用
spring.datasource.url: jdbc:mysql://127.0.0.1:3306/tmp?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.username: ENC(ik9FE3GiYLiHwchiyHg9QQ==)
spring.datasource.password: ENC(ik9FE3GiYLiHwchiyHg9QQ==)
spring.datasource.driver-class-name: com.mysql.jdbc.Driver
2.2.3启动时配置密钥
java -jar -Djasypt.encryptor.password=abc xxx.jar
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
Springboot整合Shiro之加盐MD5加密的方法
1.自定义realm,在Shiro的配置类中加入以下bean /** * 身份认证 realm */ @Bean public MyShiroRealm myShiroRealm(){ MyShiroRealm myShiroRealm = new MyShiroRealm(); System.out.println("myShiroRealm 注入成功"); return myShiroRealm; } 2.重写方法 // 身份认证 @Override protected Authe
-
SpringBoot+Shiro学习之密码加密和登录失败次数限制示例
这个项目写到现在,基本的雏形出来了,在此感谢一直关注的童鞋,送你们一句最近刚学习的一句鸡汤:念念不忘,必有回响.再贴一张ui图片: 前篇思考问题解决 前篇我们只是完成了同一账户的登录人数限制shiro拦截器的编写,对于手动踢出用户的功能只是说了采用在session域中添加一个key为kickout的布尔值,由之前编写的KickoutSessionControlFilter拦截器来判断是否将用户踢出,还没有说怎么获取当前在线用户的列表的核心代码,下面贴出来: /** * <p> * 服务实现类
-
Springboot实现密码的加密解密
现今对于大多数公司来说,信息安全工作尤为重要,就像京东,阿里巴巴这样的大公司来说,信息安全是最为重要的一个话题,举个简单的例子: 就像这样的密码公开化,很容易造成一定的信息的泄露.所以今天我们要讲的就是如何来实现密码的加密和解密来提高数据的安全性. 在这首先要引入springboot融合mybatis的知识,如果有这方面不懂得同学,就要首先看一看这方面的知识: 推荐大家一个比较好的博客: 程序猿DD-翟永超 http://blog.didispace.com/springbootmybatis/
-
Springboot配置文件内容加密代码实例
这篇文章主要介绍了Springboot配置文件内容加密代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用的是jasypt-spring-boot-starter,具体介绍可以参考 https://gitee.com/yangziyi2017/Jasypt-Spring-Boot 引入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <
-
SpringBoot配置文件中数据库密码加密两种方案(推荐)
SpringBoot项目经常将连接数据库的密码明文放在配置文件里,安全性就比较低一些,尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密. 介绍两种加密方式:jasypt 可加密配置文件中所有属性值; druid 自带了加解密,可对数据库密码进行加密. jasypt 加解密 jasypt 是一个简单易用的加解密Java库,可以快速集成到 Spring 项目中.可以快速集成到 Spring Boot 项目中,并提供了自动配置,使用非常简单. 步骤如下: 1)引入maven依赖 <de
-
SpringBoot接口加密解密统一处理
我们与客户端的接口交互中,为了更高的安全性,我们可能需要对接口加密(请求参数加密,服务端解密).返回信息加密(服务端加密,客户端解密),但是也不是所有的接口都这样,有些接口可能不需要,我们可以使用注解来轻松达到此要求. 将接口参数的加密解密和返回信息的加密解密分开,分别定义注解,利用Controller的ControllerAdvice来拦截所有的请求,在其中判断是否需要加密解密,即可达到要求. 使用方法:使用 DecryptRequest 和 EncryptResponse 注解即可,可以放在
-
利用Jasypt如何对Spring Boot配置文件加密
前言 本文主要介绍了Jasypt对Spring Boot配置文件加密的相关方法,下面话不多说了,来一起看看详细的介绍吧 方法如下: 引入jasypt <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.0.0</version> <
-
在SpringBoot中通过jasypt进行加密解密的方法
1.用途 在SpringBoot中,通过jasypt可以进行加密解密. 这个是双向的, 且可以配置密钥. 2.使用: 2.1通过UT创建工具类,并认识jasypt import org.jasypt.util.text.BasicTextEncryptor; import org.junit.Test; public class UtilTests { @Test public void jasyptTest() { BasicTextEncryptor encryptor = new Basi
-
关于Springboot数据库配置文件明文密码加密解密的问题
有时候因为安全问题,需要把配置文件的中数据库用户名密码由明文改成密文,大多数其实是为了应付甲方而已. 1.pom.xml引入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version> </dependenc
-
php中base64_decode与base64_encode加密解密函数实例
本文实例讲述了php中base64_decode与base64_encode加密解密函数.分享给大家供大家参考.具体分析如下: 这两个函数在php中是用得对php代码进行加密与解密码的base64_encode是加密,而base64_decode是解密了,下面我们看两个简单实例. base64_encode语法:string base64_decode(string data); 复制代码 代码如下: $str='d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==';
-
Java RSA加密解密实现方法分析【附BASE64 jar包下载】
本文实例讲述了Java RSA加密解密实现方法.分享给大家供大家参考,具体如下: 该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar javabase64-1.3.1.jar 本站下载地址. 注意: RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行. RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下异常: Exception in thread "main" javax.cryp
-
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
本文实例讲述了php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法.分享给大家供大家参考,具体如下: 由于出于安全考虑,参数传递的时候需要进行加密和解密,一个比较简单的方法是直接使用php中的函数mcrypt_encrypt.mcrypt_decrypt,一个加密,一个解密,但是问题又出现了,这个加密过程中会产生一些使url混乱的符号,于是在加密后对加密字符再进行一次处理,然后多了一一次解析: $key = "miyao";//密钥 $strin
-
go语言base64加密解密的方法
本文实例讲述了go语言base64加密解密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "encoding/base64" "fmt" ) const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912" ) var coder = base6
-
PHP简单实现DES加密解密的方法
本文实例讲述了PHP简单实现DES加密解密的方法.分享给大家供大家参考,具体如下: des加密: function des_encrypt($str, $key) { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return mcrypt_encrypt(MCRYPT_DES, $key, $s
-
php实现URL加密解密的方法
本文实例讲述了php实现URL加密解密的方法.分享给大家供大家参考,具体如下: <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312" /> <meta http-equiv=&q
-
python有证书的加密解密实现方法
本文实例讲述了python有证书的加密解密实现方法.分享给大家供大家参考.具体实现方法如下: 最近在做python的加解密工作,同时加完密的串能在php上能解出来,网上也找了一些靠谱的资料,刚好也有时间我就总结了一下python在加密与解密这块的代码,今后可能还能用的上.相对于php而言python这块加解密组件较多的,分别是: python-crypto - 这个组件是基本组件,使用的函式相对比较复杂. ezPyCrypto - 相对简单,但他作出来的公私钥无法与其他程序相兼容 SSL
-
C#实现对文件进行加密解密的方法
本文实例讲述了C#实现对文件进行加密解密的方法.分享给大家供大家参考.具体如下: using System; using System.IO; using System.Security.Cryptography; public class Example19_9 { public static void Main() { // Create a new file to work with FileStream fsOut = File.Create(@"c:\temp\encrypted.tx
随机推荐
- 数据库中的左连接(left join)和右连接(right join)区别
- windows server 2003邮箱服务器安装教程
- Oracle触发器trigger详解
- JAVASCRIPT 客户端验证数据的合法性代码(正则)第1/2页
- PHP中设置时区,记录日志文件的实现代码
- python 3.0 模拟用户登录功能并实现三次错误锁定
- MySQL WorkBench管理操作MySQL教程
- DIV+CSS 网页TIP的简单作法
- 常见的javascript跨域通信方法
- JavaScript打印iframe内容示例代码
- jquery自定义右键菜单、全选、不连续选择
- javascript跟随鼠标的文字带滚动效果
- Java序列化和反序列化_动力节点Java学院整理
- android ListActivity显示图标实例
- 浅谈React Native打包apk的坑
- 详解Angular调试技巧之报错404(not found)
- TypeScript开发Node.js程序的方法
- Linux中在不破坏磁盘的情况下使用dd命令
- Vue子组件向父组件通信与父组件调用子组件中的方法
- Python 离线工作环境搭建的方法步骤
