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

时间: 2024-12-20 01:20:34

iOS,Android,Jave后台AES加密解密的相关文章

android base64 和 aes 加密 解密

package pioneerbarcode.ccw.com.encryptanddecode; import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.text.TextUtils;import android.util.Base64;import android.view.View;import android.widget.Button;import android.wi

iOS之AES加密解密

//AES加密解密#import <CommonCrypto/CommonCrypto.h>#import <CommonCrypto/CommonDigest.h> //AES128位加密 base64编码 注:kCCKeySizeAES128点进去可以更换256位加密 -(NSString *)AES128Encrypt:(NSString *)plainText key:(NSString *)key { char keyPtr[kCCKeySizeAES128+1];//

【转】 iOS DES ECB模式对称加密解密

最近忙于android和iOS的项目,写完了android的DES 的ECB模式加密解密(相关连接:http://blog.csdn.net/vipa1888/article/details/8086037),又 回到了Ios上面,因为本人也是最近今年开始研究ios的,所以Ios上面好多东西都不懂,进过了半年的研究,终于吧ios的DES 的ECB模式对称加密解密搞定了,本人遇到的问题很严重的问题,网上写的好多16进制数转化位字节都有问题的,经过本人研究发现他们有一个地方写错了,导 致解密后的NS

java使用AES加密解密 AES-128-ECB加密

http://www.cnblogs.com/chen-lhx/p/5817161.html ************************************************* import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; /** * * @author Administrator * */ pub

移动开发---AES加密解密

aes加密解密 ? import android.util.Base64; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; /** * Date: 2019/4/1 * autor:Wayne */ public class AESUtil { private static String key = "123456789&qu

非对称技术栈实现AES加密解密

非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的,这就要求在前端和后端不同的技术栈上完成信息的加密解密.当然我们通常完成这样专业的功能都会考虑使用相应的框架或者程序库来完成功能,前端或者NodeJS平台通常是JavaScript语言,JavaScript主流的加密解密库分别是SjclJS和CryptoJS, 本文以CryptoJS为例进行讨论.另

加密–RSA前端与后台的加密&amp;解密

C# 加密–RSA前端与后台的加密&解密 1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠.假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降.但找到这样的算法的可能性是非常小的.今天只有短的RSA钥匙才可能被强力方式解破.到2016年为止,世界上还没有任何可靠的攻击RSA算法的方式.只要其钥匙的长度足够

php与java通用AES加密解密算法

php与java通用AES加密解密算法 AES指高级加密标准(Advanced Encryption Standard),是当前最流行的一种密码算法,在web应用开发,特别是对外提供接口时经常会用到,下面是我整理的一套php与java通用的AES加密解密算法. php版代码如下: <?php class CryptAES { protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB; protected

AES加密解密&amp;amp;&amp;amp;SHA1、SHA加密&amp;amp;&amp;amp;MD5加密

AES加密解密 SHA1.SHA加密 MD5加密 二话不说立即附上代码: package com.luo.util; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.