有人知道这是什么加密算法加密的吗?

2014-09-04 14:55:32 +08:00
 lmaq
源字符串未知加密后得到的是
9,39,18,123,96,23,96,-49,-91,127,84,-115,94,19,-91,-36,-64,-43,-86,23,25,-67,26,76
3046 次点击
所在节点    问与答
19 条回复
acpp
2014-09-04 15:04:21 +08:00
估计没人知道
hao123yinlong
2014-09-04 15:40:18 +08:00
如果大家都不知道,可能就是自己设计的一加密方式了
abelyao
2014-09-04 15:52:27 +08:00
没见过,不过可以猜测一下。
这里面的数字都没有超过 128,但却有负数,而字符串读到 byte[] 里是 0-255,
那么会不会是 byte 原值 - 128 然后直接作为字符串保存?所以出现了负数。
abelyao
2014-09-04 16:00:41 +08:00
试了一下几种编码,得到的结果是乱码。
楼主你这个密文是完整的吗?
acros
2014-09-04 16:05:57 +08:00
老实招来哪里来的密文。
csx163
2014-09-04 16:23:11 +08:00
在某工商网见过类似的加密,mark一下
codegear
2014-09-04 16:34:06 +08:00
24字节,这么巧合的长度,怀疑又是一个约定俗成的加密方法。
pimin
2014-09-04 16:51:13 +08:00
±128之内,如果是对应某种编码算法的话,可以去查查,但是直接对应的可能性。。肯定是0,因为跨度太大了,从-115到127,显示字符没有那么多。
加密方式应该是逐字符加密,其中重复的96两次,-91两次,23两次。
可以说说具体来源和用处,再想办法分析
abelyao
2014-09-04 17:03:36 +08:00
@pimin 分析得比我更加到位,赞!
就像楼上几位说的,楼主提供来源,或者其它密文例子(密文一定要提供完整的啊),更好分析
lmaq
2014-09-04 23:11:49 +08:00
@abelyao 完整的是APP与服务器通信的部分字符加密,反编译APP好像有的DEC的文件,试了一下加密但结果并不像正负数字
lmaq
2014-09-04 23:12:33 +08:00
@acros 一款APP的通信加密
lmaq
2014-09-04 23:23:53 +08:00
@pimin 抓包测试了一下
1 -107,96,-86,-120,28,59,-112,67
2 125,95,11,124,-24,80,-61,94
3 -48,47,67,-19,-73,127,23,122
4 32,-101,-68,-41,64,-53,-92,20
5 -34,-90,-46,-125,-61,-57,-52,-128
没有什么规则,看APP的反编译有个DEC的加密算法文件,不动andriod就没细看
原字符越长加密出来的密文也越长 10位的元字符加密后得到 16位密文
八位字母数字混合原文得到 8位密文 同样是正负数字的
abelyao
2014-09-04 23:26:07 +08:00
@lmaq 既然知道原文长度,却不知道原文内容?
如果知道原文内容,能举个例子,原文什么,对应密文是什么,岂不是更容易分析?
lmaq
2014-09-04 23:27:17 +08:00
@abelyao 加密原文和密文例子12楼已发,找不到规律
lmaq
2014-09-04 23:28:42 +08:00
@abelyao 12楼例子左边的1 2 3 4 5是原文后面的是密文,已知每次加密的结果都是一样的
abelyao
2014-09-04 23:30:31 +08:00
@lmaq “1” 的加密结果是 “-107,96,-86,-120,28,59,-112,67” 吗?
那还真是看不出什么规律啊,不过很好奇了怎么办…
lmaq
2014-09-04 23:34:55 +08:00
@abelyao 有没有什么好的安卓应用的模拟器之类的,我抓包做个字典好了 如果真没办法也只能这样了
abelyao
2014-09-04 23:37:05 +08:00
@lmaq 不玩安卓,去年看过这个: http://weibo.com/1792862597/A2qdZ2oQO
pimin
2014-09-05 00:48:32 +08:00
@lmaq
DES加密的确是这个规律的,可以是8、16、64的长度的整数倍
知道算法解密就比较简单了,DES是对称加密,密匙就存在apk里,反编译找找看
找到密匙,然后DES(1),DES(2)。。
这样看看,是不是还做了一些弱转换
通常来说都没有什么必要了
另外就是不知道负数。。是怎么来的,我觉得是直接变成16进制比较靠谱,比如-107=95,-86=AA
类似1用密匙1111111来加密,密文是22 e6 7d 8d 39 ec 7d 1e
楼主有没有看到一些东西,大概就可以理解了,去找密匙吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/131708

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX