Java实现AES解密PKCS7填充256位的KEY
java中不支持采用AES加密算法PKCS7Padding来填充,只支持PKCS5Padding。我们知道加密算法由算法+模式+填充组成,故不同的填充算法会导致相同明文相同密钥加密后出现密文不一致的情况。
实现在java端用PKCS7Padding填充,需用到bouncycastle组件来实现,
Bouncy Castle是一种用于java平台的开放源码的轻量级密码术包,支持大量的密码术算法。
目录
Java实现AES解密PKCS7填充256位的KEY (1)
第一步、引入Bouncy Castle (1)
第二步、写测试代码: ..................................................................... 错误!未定义书签。
1、代码实例 ................................................................................... 错误!未定义书签。
2、报错解决方案 (2)
3、测试结果: (3)
第一步、引入Bouncy Castle
1、去官方站点(http://www.doczj.com/doc/57a7a183ad51f01dc381f119.html/latest_releases.html)下载Bouncy Castle 的JCE Provider包bcprov-ext-jdk15on-151.jar(最新版)
2、把jar文件复制到$JAVA_HOME$\jre\lib\ext 目录下面
3、修改配置文件\jre\lib\security\java.security
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=http://www.doczj.com/doc/57a7a183ad51f01dc381f119.html.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=sun.security.mscapi.SunMSCAPI
#前面是java环境已经提供的,尾部加上这两行行即可
#增加BouncyCastleProvider