【springboot】【jasypt】加密密码

springboot的版本是

Spring Boot ::        (v2.1.5.RELEASE)

依赖

<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>

生成秘钥类

 1 import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
 2 import org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig;
 3
 4 /**
 5  * 把密文放到配置文件中的时候要注意:
 6  * ENC(密文)
 7  */
 8 public class ConfigEncryptUtils {
 9
10     /**
11      * 2.1.1
12      * Spring Boot ::        (v2.1.5.RELEASE)
13      * @param args
14      */
15     public static void main(String[] args) {
16
17         //加密工具
18         StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
19
20         //加密配置
21         EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
22         config.setAlgorithm("PBEWithMD5AndDES");
23
24         //生成秘钥的公钥
25         config.setPassword("xiaostudy");
26
27         //应用配置
28         encryptor.setConfig(config);
29
30         //明文密码
31         String plaintext = "123456";
32
33         //加密
34         String ciphertext = encryptor.encrypt(plaintext);
35
36         System.out.println(plaintext + "加密后: " + ciphertext);
37
38         //解密 过程
39         String pText = encryptor.decrypt(ciphertext);
40         System.out.println(ciphertext + "解密后: " + pText);
41     }
42 }

配置文件application.yml添加

jasypt:
  encryptor:
    password: xiaostudy

密码:

ENC(Gs5skfuo8ovc/gSeQ45UlBF2fMWqipMksESuQPYIpao=)

注:如果发现启动报错,可能就是springboot与jasypt版本不对

原文地址:https://www.cnblogs.com/xiaostudy/p/11974165.html

时间: 2024-11-13 11:06:10

【springboot】【jasypt】加密密码的相关文章

SpringBoot集成jasypt数据库密码加密

一.为什么要使用jasypt库? 目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文件中, 这样就会导致密码泄露的安全隐患,被不法人员利用从而泄露公司数据信息 因此,jasypt库能通过密码加密减少明文密码泄露的风险: 二.什么是jasypt库? 参考:http://www.jasypt.org/index.html    Jasypt是一个Java库,允许开发人员以最小的努力将基

python: 字符串按空格分成列表split与加密密码maketrans

#字符串按空格分成列表split() print("fu li mei".split()) #split按空格分成列表 print("1+a+2+b".split('+')) #split按空格分成列表#应用场景--只提取数字 #加密密码 p=str.maketrans("hgx",'123') print("zhangsan xing".translate(p))

MD5 与 SHA 在 Delphi 中函数实现,加密密码

MD5 与 SHA 在 Delphi 中函数实现. 为了加密密码,必须使用一种算法,查询资料,比较好的方法是使用:MD5等算法,参考:Delphi XE8 支持MD5 第一种方式是:引用 System.Hash 中的 THashMD5, (或者 THashSHA1,THashSHA2) 参考 官方文档. http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Hash 简单用法:  hashmd5 := THashMD5.Create.G

使用Jasypt对SpringBoot配置文件加密

# **前言** 在日前安全形势越来越严重的情况下,让我意识到在项目中存在一个我们经常忽略的漏洞,那就是我们的项目的配置文件中配置信息的安全,尤其是数据库连接的用户名和密码的安全.所以这里我们就需要对数据库的用户名和密码进行加密,这也是本文的由来.本文采用Jasypt对Spring Boot配置文件加密的相关方法,其实呢,也还有其他方案,具体的会在后面的相关文章中说明. # **引入jasypt** ```xml com.github.ulisesbocchio jasypt-spring-bo

Asp.Net 常用工具类之加密——密码可逆与不可逆(3)

互联网技术发展的很快,带来的问题也是很多,密码安全泄露事件.数据库事件等等层出不穷. 1.13年腾讯QQ账号密码泄露事件. 2.15年携程出现删库的事件.                   3.前两天亚马逊出现四个小时的宕机事件,原因是因为程序员打错了一个字符,导致半个互联网瘫痪(说多少次了,我敲代码的时候不要打扰我,打错了一个字母可能导致整个互联网瘫痪)! 言归正传,今天主要讲一下加密的可逆与不可逆! 前两天我们讲了RSA和DES两种加密方式,他们都以加密密钥key进行加解密,这样可以得到加

在Linux下生成crypt加密密码的方法

这个命令就是用来生成crypt格式的密码的: mkpasswd 输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串. 如果用Apache Web服务器,那么也可以用htpasswd: htpasswd -nd user 用户名(user)叫什么都无所谓,我们关注的是密码.这个命令会输出一个user:password格式的字符串,直接把password字段复制下来就ok了. 有OpenSSL的话,可以使用openssl命令: openssl passwd -crypt myPass

使用js_md5加密密码

为什么在传输过程中要用md5对密码进行加密? 众所周知,我们在表单中的输入框输入了密码后,如果采用ajax的post或者get方式提交数据,在浏览器的newwork中就可以看到我们向后台传输的内容,其他的文本内容直接提交都没问题,如果密码在传输的过程中也能被别人看见. 如果传输被拦截,那么密码就完全暴露给别人了,安全性存在极大的隐患. 所以,在传输过程中,推荐使用加密传输. 前端单个js_md5实例代码 <!DOCTYPE HTML> <html> <head> <

破解HG8245C加密密码

须知: 1.本文是针对上海电信的最新的HG8245C的密码破解,但并不能完全破解电信的超密,必须拿到一次超级密码才可.可以问电信小工要. 2.拿到超密后,最好全部修改完再重启,切记切记. 3.本文参考了以下文章,再次感谢原作者的奉献: http://www.cnblogs.com/myzerg/p/3622134.html http://www.chinadsl.net/forum.php?mod=viewthread&tid=112613 一.开启telnet [前提]必须知道超级密码,而且只

用彩虹表破解MD5、LM Hash等复杂加密密码

一.什么是彩虹表? 彩虹表(Rainbow Tables)就是一个庞大的.针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码.越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上. 二.上哪找彩虹表去? 现在有很多大牛已经把自己的彩虹表共享出来了,所以你可以去下载.还有一种方法就是自己通过工具生成. 不过自己生成有点不切合实际,生成小的彩虹表吧数据少,可以破解密码的位数少(复杂程度低),而且费时费力,4核4GB内