2 baidu 15438619 baidu_15438619 于 2017.09.18 22:31 提问

android端和java aes加密结果不同

用的org.apache下的commons-codec,android端改了包名导入进去的。
用相同密钥两个平台加密结果不同
代码如下:
图片说明
图片说明
图片说明
图片说明

1个回答

Naide_S
Naide_S   2017.09.19 10:38

看一下java 那边的处理是怎么做的 key可以使用 KeyGenerator、SecureRandom、SecretKey SecretKeySpec 生成 有可能会导致加密结果不一样 看一下是不是这个问题 实在不行 直接用java的加密拿过来用就可以了啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA非对称加密不同系统加密结果不一致
最近在做一个项目,需要用到非对称加密,但是出现一个很诡异的情况,本地开发环境是Windows环境,测试环境是Linux环境,出现一个问题, 那就是本地环境与开发环境同一个私钥字符串加密加密同一个信息,得到的加密结果不一样。 经过查询网络得知,这是由于填充的规则不同导致。 原来的加密的部分代码 byte[] keyBytes = Base64.decodeBase64(privateKey);...
Linux操作系统下每次AES加密结果不一致的原因
定位在生成KEY的方法上,如下: public static SecretKey getKey (String strKey) { try { KeyGenerator _generator = KeyGenerator.getInstance( "AES" ); _generator
android客户端和java服务端用aes加密结果不一样的解决方法。
最近在公司做一个项目,老大让我们实现加解密的方法,我把工作直接推给了java服务端,他们也是直接在网上copy的代码,说我直接放到我的android代码中就可以了,不需要太多的更改。我就照做了,但是在真正的测试的时候,发现两边输入的密码一致,但是加密结果不一致。这可折磨我们了好久,最终解决了这个问题,加以记录。 android和java加密结果
加密结果不同,解密结果相同的AES加密类
C# .Net 2005 AES加密类,通过在需要加密的字符串前后各加特定长度的系统当前时间值来达到对同一个字符串每次加密结果都不一样的目的。解密时忽略添加的的字符从而得到原来的字符串。支持128位、196位和256位加密;支持自定义密钥;支持分组大小;
加密算法 AES Windows和linux 解密不一致问题
java  AES 加密算法       SecureRandom  类中 setSeed()底层调用的是 native 方法.所以 造成了 不同环境之间 随机数出现了差别。导致解密不一致问题   对加密程序 添加如下两行 代码控制 随机数即可解决问题。 SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG"); se
JAVA 与C# 的AES的加密函数、解密函数,加密解密结果一致
因为开发需要用到java以及c#之间的数据传输,所以使用到AES的加密函数、解密函数。亲测可用,分享给大家: java代码: package my; import javax.crypto.*; import javax.crypto.spec.SecretKeySpec; import sun.misc.*; public class Xianchengmingming {
AES加密解密Windows下跟linux下结果不同的解决方案
AES加密解密Windows下跟linux下结果不同的解决方案
AES加密算法在linux下相同输入每次加密结果都不同的问题
现象描述: 在 windows 操作系统下加解密正常,但部署到 linux 环境中相同的输入加密结果不正确,并且每次运行返回的结果都不同。 修改后的代码:            KeyGenerator kgen = KeyGenerator.getInstance("AES");            //需手动指定 SecureRandom 随机数生成规则            S
nodejs和java的AES加密结果保持一致
工作中遇到nodejs端通过aes加密,安卓客户端java解密,同意nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥za再MD5加密一遍,以下是aes ecb加密的内容,如果是cbc也同样需要对秘钥MD5加密: nodejs: /** * aes加密 * @param data * @param secretKey */
AES LINUX加密结果不一致
AES对称加解密, 相同key加密结果不一致,因为Linux的强随机数而导致,需要在 jvm 加如下启动参数   -Djava.security.egd=file:/dev/./urandom  如下测试类,在Linux  javac Test.java 编译 ,运行 Java Test 每次加密结果不一致。 运行 java -Djava.security.egd=fil