android422密码,Android客户端加密Server后台端解密 遇到的问题

最近老大叫弄一个加密,给密码加密传给Server端.

使用 AES加密算法+Base64编码 给用户密码加密;

在Android端加密是什么问题都没有.

A.然而在Server端解密的时候却报错了,如下:java.security.NoSuchAlgorithmException:Cannot find any provider supporting AES/ECB/PKCS7PADDING

然后google一番 说将 AES/ECB/PKCS7PADDING改成AES/ECB/PKCS5PADDING

B.然后又报EncryptionException:java.security.InvalidKeyException:Illegal key size

真是揪心啊!非法key大小,是说java 不支持AES-256,只可以到AES-128.

要支持256的

理一下解决的具体步骤:

一.解决 Cannot find any provider supporting AES/ECB/PKCS7PADDING 的问题.

1.在Android端的不必修改.Android一点问题都没有

2.将服务端的加密工具类的 AES/ECB/PKCS7PADDING 改成AES/ECB/PKCS5PADDING

二.解决EncryptionException:java.security.InvalidKeyException:Illegal key size 问题

1.下载 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy 包

下载之后呢,将zip解压,可以看到如下目录

733c6da85422

UnlimitedJCEPolocy

具体替换原有的jar包:

1.1拷贝解压包的两个jar文件 [local_policy.jar , US_export_policy.jar] 到 java的如下目录:

733c6da85422

看图看路径就晓得了

三.这样应该就解决了以上 的问题,如有其它问题另外再解决.

注意:以上是在 jdk1.8 的环境下的.

记录下问题;如还有更好的方法请相告.

不喜勿喷!祝阅者生活愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值