SpringBoot 数据库地址等数据信息jasypt加密

		现公司要求配置文件不能出现明文敏感信息,现做信息加密,用的
	是github大佬开源的加密资源,本项目用的是springboot

所引 jar

  <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.8.RELEASE</version>
	</parent>

   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>
		
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
				<!-- 加密 -->
 		<dependency>
			<groupId>com.github.ulisesbocchio</groupId>
			<artifactId>jasypt-spring-boot-starter</artifactId>
			<version>1.17</version>
		</dependency>
		
   </dependencies>

配置私密盐

password可以随意更换,加密解密的时候需要内容一样,如果不添加的
话请求的时候会报错:Required Encryption configuration property missing: jasypt.encryptor.password

  
jasypt:
  encryptor:
    password: 123456

先写个加密方式,将所需要的明文转化成密文

	@Autowired
	private StringEncryptor stringEncrypor;
	
	public String encrty(String encr) {
		String encrypt = stringEncrypor.encrypt(encr);
		//encrypt  就是加密之后的密文
		return encrypt;
	}
	
	//解密,输入密文,可解析成明文
	public String decrypt(String encr) {
		String encrypt = stringEncrypor.decrypt(encr);
		return encrypt;
	}

通过上面的方法将明文转换成密文之后再配置文件里面进行配置

#密文在配置文件用ENC()配置即可
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    #driver-class-name: oracle.jdbc.driver.OracleDriver
    username: root
    password: ROOT
    url: **ENC(LsAsIU2MLaENVAiqk47ZkQ351ZcYcgPfNb3e0Ei71KT0Yito+hM3yPsWcsLFY8d2DzuNMlpfWBwDWg84pFa78wFBUAY6vp6S)**
    
  jpa:
    properties:
      hibernate:
        show_sql: true
        format_sql: true
        dialect: org.hibernate.dialect.MySQL5Dialect
        naming:
        #jpa查sql将字段自动加下划线(org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl)
          physical-strategy: org.hibernate.cfg.ImprovedNamingStrategy
    ddl-auto: update
    #  create (自动创建表,要先创建类,每次都是先删再创建) update:如果表存在则不创建,只在第一次初始化时创建表 
  

  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个开源的Java框架,可帮助开发者更快速地构建应用程序。Jasypt3是Spring Boot中一种常用的加密库,可用于加密敏感数据,如数据库密码。下面简要介绍如何使用Spring Boot和Jasypt3来加密数据库密码: 1. 添加依赖:在pom.xml中添加Jasypt3的依赖,如下所示: ```xml <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> ``` 2. 配置加密算法和密钥: 在Spring Boot的配置文件(application.properties或application.yml)中添加以下配置: ```properties jasypt.encryptor.algorithm=算法 jasypt.encryptor.password=密钥 ``` 3. 加密数据库密码: 在配置文件中使用Jasypt3提供的加密语法将数据库密码进行加密。例如,假设我们要加密的密码是"password",可以使用以下语法: ```properties encryptor.encrypt(密码) ``` 4. 使用加密的密码: 在项目中的数据源配置文件(如application.properties)中,使用加密后的密码。例如: ```properties spring.datasource.username=用户名 spring.datasource.password=ENC(加密的密码) ``` 5. 运行应用程序: 启动Spring Boot应用程序,它将自动使用配置的密钥解密密码,然后使用解密后的密码连接数据库。 通过以上步骤,我们可以使用Spring Boot和Jasypt3来实现数据库密码的加密。这样可以保护敏感数据的安全性,同时提供了一种方便的方法来管理加密密钥和加密算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值