怎样给文件夹加密码,怎样给文件夹加密码保护?
应用场景
随着互联网的不断发展,信息安全越来越被人们所重视,各个公司对一些敏感信息的加密要求也越来越高,最近小编的公司就要求项目配置文件里不能出现明文密码,要求对配置文件里出现的用户名密码进行加密处理,小编使用了jasypt轻松搞定,在这里也推荐给大家!
使用方式pom文件里引入依赖
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version></dependency>
application.properties配置文件里添加密钥
jasypt.encryptor.password=CSEbfabcctulv73I2dsssCTTJMXoaxZTKJ7jasypt.encryptor.algorithm=PBEWithMD5AndDES
创建测试类ApiController,对外提供加密,解密方法
package com.lyj.properties.encrypt.controller;import org.jasypt.encryption.StringEncryptor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;import java.util.Map;@RestControllerpublic class ApiController { @Autowired StringEncryptor encryptor; @Value("${username}") private String username; @Value("${password}") private String password; /** * 解密 * @author: liyajie * @date: 2022/1/12 10:27 * @param * @return java.util.List<java.util.Map<java.lang.String,java.lang.String>> * @exception: * @update: * @updatePerson: **/ @GetMapping("/getUsernameAndPassword") public Map<String,String> getUsernameAndPassword(){ Map<String,String> map = new HashMap<String,String>(); map.put("解密后username",username); map.put("解密后password",password); return map; } /** * 加密 * @author: liyajie * @date: 2022/1/12 10:27 * @param * @return java.util.Map<java.lang.String,java.lang.String> * @exception: * @update: * @updatePerson: **/ @GetMapping("/setUsernameAndPassword") public Map<String,String> setUsernameAndPassword(String username, String password){ Map<String,String> map = new HashMap<String,String>(); map.put("加密后username",encryptor.encrypt(username)); map.put("加密后password",encryptor.encrypt(password)); return map; }}
测试加密将加密后的用户名密码添加到配置文件中
username=ENC(H8W+D5hYuGkMNJEXOz/tdQ==)password=ENC(JOyjEvb1yc0IOnKc39ynGQ==)
请求解密接口(其实是自动解密的),获取解密后的用户名和密码这里解密后的username为啥是86177,而不是lyj?
解决方法: 将配置文件里的配置项的变量名称修改为其他的名字(只要不是username就可以),例如:
newUsername=ENC(H8W+D5hYuGkMNJEXOz/tdQ==)password=ENC(JOyjEvb1yc0IOnKc39ynGQ==)
再次请求就正常了
注意点配置项名称不要定义为username,否则解密后为86177由于密钥也是写在配置文件里,所以为了更安全,密钥可以放在启动脚本或者环境变量里
如需获取源码,请关注后,私信小编,非常感谢
以上就是小编关于【怎样给文件夹加密码才能打开】的分享,希望对你有用。