在config.properties中加入秘钥和密文配置:
jasypt.encryptor.password=test
redis.pub.password=ENC(fD4/NskzwBt8/+Ln2FiVdg==)
使用jasypt工具加密在maven中引入jasypt依赖包:<dependency> <groupId>com.test.caep</groupId> <artifactId>jasypt-spring-boot-starter</artifactId></dependency>加密进入maven仓库中jasypt所在的目录,输入cmd进入命令窗口,执行指令:java -cp jasypt-1.9.3.j
在上一篇文章《Spring Boot 初级入门教程(二十) —— 配置文件密码信息自定义算法加密》中,简要介绍了如果通过自定义算法,加密配置文件中的密码,这篇来说说密码加密的另外一种实现方式。
第一步,添加依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot<
1. ENC的定义
ENC字面含义是电子航海图(Electronic Navigational Charts),特指由国家海道测量机构或国家海道测量机构授权的公司或机构按国际海道测量组织(International Hydrographic Organization,IHO)颁布的《数字式海道测量数据传输标准》(Transfer Standard for Digital Hydrographic Data,编号S-57)制作的矢量电子航海图。
并不是所有的电子航海图都可以称为ENC。
一般来说,使用OpenSSL对称加密算法有两种方式,一种是使用API函数的方式,一种是使用OpenSSL提供的对称加密算法指令方式。本书将介绍对称加密算法的指令方式
OpenSSL的对称加密算法指令主要用来对数据进行加密和解密处理,输入输出的方式主要是文件,当然,也可以是默认的标准输入输出设备。
OpenSSL基本上为所有其支持的对称加密算法都提供了指令方式的应用,这些应用指令的名字基本上都是以对称加密算法本身的名字加上位数、加密模式或其他属性组合而成。比如DES算法的CBC模式,其对应的指令就是des
$key = "123";
$td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
$key = substr(md5($key), 0, $ks);
mcrypt_generic_init($td
文件上传要求form表单的请求方式必须为post,并且添加属性enctype=“multipart/form-data”
SpringMVC中将上传的文件封装到MultipartFile对象中,通过此对象可以获取文件相关信息
1.请求方式必须为post
2.属性enctype=“multipart/form-data”
上传步骤:
a>添加依赖:
<!-- https://mvnrepository.com/artifact/commons-fileupload/comm
Spring MVC 是 Spring 提供给 Web 应用的框架设计。Spring MVC 是一个典型的教科书式的 mvc 构架,不像 Struts 等都是变种或者不是完全基于 mvc 系统的框架。
Spring MVC 角色划分清晰,分工明细,并且和 Spring 框架无缝结合。作为当今业界最主流的 Web 开发框架,Spring MVC 已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。
2.MVC设计模式简介
MVC 设计不仅限于 Java Web 应用,还包括许多应用,比
- `echo "hello world"`:输出要加密的字符串。
- `openssl enc`:指定使用openssl进行加密操作。
- `-aes-256-cbc`:指定使用AES-256算法和CBC模式进行加密。
- `-a`:将输出转换为base64编码格式。
- `-salt`:在生成密钥时使用随机的盐值。
- `-pass pass:mysecretpassword`:指定加密所使用的密码。
运行此命令后,您将得到一个加密后的字符串,类似于以下内容:
U2FsdGVkX19fNcTtXG6Lh4I7b5G1Z2y9fQCFxug8pZ4=
如果您需要解密该字符串,可以使用以下命令:
echo "U2FsdGVkX19fNcTtXG6Lh4I7b5G1Z2y9fQCFxug8pZ4=" | openssl enc -aes-256-cbc -a -d -salt -pass pass:mysecretpassword
这将输出解密后的字符串`hello world`。