码迷,mamicode.com
首页 > 移动开发 > 详细

iOS,Android,Jave后台AES加密解密

时间:2016-05-05 19:16:35      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

 

AES256 在iOS和Android上的相关代码:

http://www.tuicool.com/articles/RVFbmmU

 

里面可以下载相关的代码.

我们遇到的问题是:

把Android的代码移动到Java 后台出现无法加密.

遇到如下的2个问题

1. no cipher getinstance support for AES/CBC/PKCS7Padding

 

解决方案: http://www.codeweblog.com/java-%E4%BD%BF%E7%94%A8aes-cbc-pkcs7padding-%E5%8A%A0%E8%A7%A3%E5%AF%86%E5%AD%97%E7%AC%A6%E4%B8%B2/ 

2. AES256无法加密(也许是Java环境问题)

解决方案: 把AES256换成AES128

 

相关代码:

iOS代码:(我重新优化了相关iOS代码放到github上了)

https://github.com/xzjxylophone/RXCategory

在NSString+RXUtility中:

- (NSString *)rx_transform_AES128EncryptWithKey:(NSString *)key;

- (NSString *)rx_transform_AES128DecryptWithKey:(NSString *)key;

 

Java代码:(适用于Android和Java后台)

在ASE.java中把下面的

private final int KEY_LENGTH = 256;

中的256改成128,这样就可以让iOS,Android和Java后台都保持一致了.

 

 

 

AES128  AES256的区别

http://blog.csdn.net/newizan/article/details/45461347

这样就差不多了.用128完全够用了.

 

 

 

 

 

iOS,Android,Jave后台AES加密解密

标签:

原文地址:http://www.cnblogs.com/xzjxylophone/p/5462673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!