项目过程中遇到一个新需求,对文件进行AES加密解密,要求用ECB模式,这里记录一下
网上找了很多资料,对字符串进行加密很多,可是我需要的是对文件进行加密,一开始的思路是把文件内容读出来,然后对这些内容循环加密,但是如果文件比较大的话担心这样会出现问题...
https://blog.csdn.net/WHB20081815/article/details/73997645 从中得到很大帮助,感谢这位博主
这里是关于AES加密的各种模式和填充模式的说明。当原始数据长度为16的整数倍时,假如原始数据长度等于16*n,则使用NoPadding时加密后数据长度等于16*n,其它情况下加密数据长度等于16*(n+1)。在不足16的整数倍的情况下,假如原始数据长度等于16*n+m[其中m小于16],除了NoPadding填充之外的任何方 式,加密数据长度都等于16*(n+1);NoPadding填充情况下,CBC、ECB和PCBC三种模式是不支持的,CFB、OFB两种模式下则加密数据长度等于原始数据长度。
直接贴代码了
工具类实现方法都写好了,用法就更简单了
文件加密:
文件解密: