作者janice001 (真理)
看板java
标题[虫?] AES 加解密 android <->java server
时间Fri Apr 18 22:00:34 2014
各位前辈 老师 同学 大家好
我这次写的程式最後用到AES 加解密
过去三天 我一直卡在同一个地方 让我有点儿崩溃
从android 送出加密後讯息 伺服器收到後
都会丢出
Input length must be multiple of 16 when decrypting with padded cipher
我参考到网路上的解法是 base64 或者 toHEX 字串来解决
我使用byteToHex来解决这个问题
但问题没有解决
我有确定 客户端跟伺服器皆算出同样的一把session key
出问题的程式码在下面 也标记了 出问题的一行程式码
拜托 各位帮我看一下 我的盲点在哪...QAQ
再不行 我可能要试试看 在android 使用 Spongy Castle
在java server 使用 Bouncy Castle 了 ~"~
先谢谢大家了 Orz
伺服器 部分程式码
http://chopapp.com/#dommpgst
android 部分程式码
http://chopapp.com/#p1p6qrn3
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.74.127.208
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1397829643.A.4E2.html
1F:推 PsMonkey:这,我到底是该删还是不该删... [摊手] 04/18 22:38
2F:→ cyclone350:server程式:instruction 是什麽? Object[] 吗? 04/18 23:29
3F:→ janice001:收到的字串 [0] 放id [1] 放加解密的字串>< 04/18 23:31
4F:→ cyclone350:看不懂,你说你使用byteToHex,我整份程式码没看到这个 04/18 23:33
5F:→ cyclone350:既然注明是 hexToByte(instruction[1]); 这行错,你没 04/18 23:35
6F:→ cyclone350:放hexToByte程式,也没说明instruction,我们要怎麽看? 04/18 23:38
不好意思 本来就是这行程式码出错 我也用byteToHex 还有hexToByte 互解过
所以我觉得是对的 所以没PO
public static String bytesToHex(byte[] in) {
final StringBuilder builder = new StringBuilder();
for(byte b : in) {
builder.append(String.format("%02x", b));
}
return builder.toString();
}
public static byte[] hexToByte(String s) {
return new BigInteger(s, 16).toByteArray();
}
※ 编辑: janice001 (111.252.192.242), 04/18/2014 23:47:43
7F:→ cyclone350:hexToByte ... 输入的 s 长度必须为16的倍数 04/19 00:31
8F:→ cyclone350:刚刚乱测一下api,应该是key长度问题? 04/19 00:34
9F:→ janice001:那我应该怎麽作 直接补0 吗? 为什麽在Android底下 04/19 00:34
10F:→ cyclone350:说错了,不是Key,是加密结果长度必须为16的倍数? 04/19 00:37
11F:推 Killercat:? 拿Cipher的时候就有参数要你填padding规则了啊 04/19 00:38
12F:→ cyclone350:你在Android code底下的temp就是32位元了吧?你不是把 04/19 00:42
13F:→ cyclone350:temp传到server解密吗? 更正,是长度为32 04/19 00:44
14F:→ cyclone350:为什麽要补0? AES密文长度不是16的倍数吗? 04/19 00:47
15F:→ janice001:可是不知道为什麽传过去就不是了...? 04/19 00:50
16F:→ janice001:我检查一下客户端送出的东西 跟伺服器接到的东西好了 04/19 00:52
谢谢 cyclone350 的意见
检查 长度之後发现讯息长度被更改 後来发现 Hex byte 之间的转换是有问题的
已经成功加解密来回了 谢谢 >v<
※ 编辑: janice001 (111.252.192.242), 04/19/2014 02:21:01