SpringBoot集成jasypt数据库密码加密

  一.为什么要使用jasypt库?

    目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文件中,

    这样就会导致密码泄露的安全隐患,被不法人员利用从而泄露公司数据信息

    因此,jasypt库能通过密码加密减少明文密码泄露的风险;

  

  二.什么是jasypt库?

   参考:http://www.jasypt.org/index.html

     Jasypt是一个Java库,允许开发人员以最小的努力将基本的加密功能添加到他/她的项目中,而无需对密码学的工作原理有深入的了解。

    1.用于单向和双向加密的高安全性,基于标准的加密技术。加密密码,文本,数字,二进制文件...

    2.与Hibernate透明集成。

    3.适用于集成到基于Spring的应用程序中,还可以与Spring Security透明集成。

    4.用于加密应用程序(即数据源)配置的集成功能。

    5.多处理器/多核系统中高性能加密的特定功能。

    6.与任何JCE提供程序一起使用的开放API。

    通俗一点就是,方便开发者使用的一个密码加密库的Java库

 

  三.怎么使用jasypt库?

   以单体Springboot项目为例,Springboot版本2.1.x,Java8

   1.引入jasypt库的 maven依赖

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

   2.yml文件中配置jasypt 加密密码

jasypt:
  encryptor:
    password: Gabriel

     3.启动类添加@EnableEncyptableProperties注解

@SpringBootApplication
@MapperScan(basePackages = "com.gabriel.stage.mapper")
@EnableEncryptableProperties
public class StageApplication {

    public static void main(String[] args) {
        SpringApplication.run(StageApplication.class, args);
    }

}

   4.通过jar包加密数据库的明文密码

    java –cp jar包所在路径\jar包 org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=”数据库密码” password=加密字段,随意设置algorithm=默认PBEWithMD5AndDES加密

  

   password密码 使用ENC(加密后的密码)配置 

    

  

原文地址:https://www.cnblogs.com/gabriel-y/p/12248552.html

时间: 2024-10-09 07:23:55

SpringBoot集成jasypt数据库密码加密的相关文章

Druid使用及开启数据库密码加密

Springboot环境下的配置 1.maven引包 1 <dependency> 2 <groupId>com.alibaba</groupId> 3 <artifactId>druid</artifactId> 4 <version>1.0.26</version> 5 </dependency> 2.创建配置类 1 package com.tqh.demo.config; 2 3 import com.a

关于druid数据库密码加密流程及问题

最近项目中需要在配置中将数据库密码加密,就使用了阿里的druid来实现,将流程和问题和大家分享一下. 项目使用的是Spring加jetty,原先数据库连接使用的是Apache的DBCP:commons-dbcp2-2.1.1.jar+ojdbc6.jar 配置:<New class="com.alibaba.druid.pool.DruidDataSource">            <Set name="driverClassName">

用户登录注册之数据库密码加密

在连接数据时,用户名密码都是明文,最近网上查资料,使用DES对其进行加密:同时用户注册后,密码都没有进行加密,对于数据库里面数据加密,可以使用password函数直接进行加密,也可以自定义加密,比如使用DES加密. 对数据库连接密码加密具体操作如下: 1.定义DES加密类 public class DESUtils {     private static Key key;     private static String KEY_STR = "qbkeytest";// 密钥   

配置cndi数据源以及数据库密码加密

闲来无事觉得以前用过的一些东西过一段时间会忘记,所以开始想着发博文,第一次发博文,如有问题大家请多多指正. 1,首先在application.xml里面配置数据源     <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">      <property name="jndiName">           <val

druid 数据库密码加密

cmd命令: 1.切换的druid-0.2.9.jar包所在目录 2.在命令行中执行如下命令:java -cp druid-0.2.9.jar com.alibaba.druid.filter.config.ConfigTools you_password 即输出加密后密码 3.<!-- sql统计功能就不能用 <property name="filters" value="stat" /> --><property name=&quo

数据库密码加密公用秘要生成器,数据库密码加密解密入口

public class Encryptor { public static final String HUNDSUN_VERSION="@system 管理平台 @version 2.0.1 @lastModiDate @describe "; protected static final int BLOCK_SIZE = 8; private int[] workingKey = null; private byte[] userkey = null; /** * standard

Druid数据库密码加密

1.找到druid-version.jar目录 2.cmd执行命令:cd到jar包目录下 3.执行命令:java -cp druid-1.1.17.jar com.alibaba.druid.filter.config.ConfigTools 123456,得到密钥 4.在application.properties中配置: spring.datasource.password=idOgPR4XQBOdVM59bDupheVnkjsL1ZTr6JJ0KC+KlnJh2SFWkYsdq2MuyHd

druid数据库密码加密程序编写

第一步:引入 druid-1.0.1.jar 架包 第二步: 编写程序 package nihao; import com.alibaba.druid.filter.config.ConfigTools; public class er { @SuppressWarnings("static-access") public static void main(String[] args) { try { ConfigTools configTools = new ConfigTools

SQLSERVER使用密码加密备份文件以防止未经授权还原数据库

原文:SQLSERVER使用密码加密备份文件以防止未经授权还原数据库 SQLSERVER使用密码加密备份文件以防止未经授权还原数据库 在备份数据库的时候,用户可以为媒体集.备份集或两者指定密码 在backup语句中,定义备份集密码和媒体密码为可选功能.使用密码可防止利用SQLSERVER工具未经授权地执行还原操作和在媒体中添加备份集. 如果指定了密码则用户还必须提供媒体密码才能执行这些操作 关于媒体集和备份集大家可以参考MSDN:http://msdn.microsoft.com/zh-cn/l