標籤:
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加密解密