zoukankan      html  css  js  c++  java
  • iOS,Android,Jave后台AES加密解密

    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完全够用了.

     

     

     

     

     

  • 相关阅读:
    Nginx proxy开启cache缓存
    Nginx Server 配置
    nginx 全局配置
    Nginx 配置文件解析
    Python-Scrapy框架
    Python-shutil模块
    os模块3
    os模块
    python os模块atime ,ctime,mtime意义
    Python-正则表达式
  • 原文地址:https://www.cnblogs.com/xzjxylophone/p/5462673.html
Copyright © 2011-2022 走看看