在工作中使用AES加密过程中遇到的坑,网上资料很少,记录下来供大家学习参考
业务场景描述:
在一次开发中,我们属于服务平台开发很多接口,供其他各个公司的各个系统调用存取数据,但是由于数据安全的问题,领导要求对数据进行加密传输,并且不让自己写算法实现,经过决定,最终采用AES加密算法进行加密,本人负责此次加密的开发,但是这之中AES加密的坑。不说了,开始介绍:
关于AES和DES,以及3DES这些对称加密算发的介绍,这里不做阐述,只提及一下对称加密中的秘钥:
AES :加密秘钥指定为16个字节长度
DES:加密秘钥指定为8个字节长度
但是在我们的加密过程中,秘钥肯定有自己的真正含义,不可能根据算发的规则去改变我们的业务场景,那么,就不得不提及一个概念,就是工作模式
它会自动补全秘钥或者截取秘钥,按照指定的模式进行算发截取。
自己开始的加密方式:

然而,当把项目部署到服务器上是(linux机器 sun的JDK),出现了无法解密的现象