百度红包验证码的解密的想法,有兴趣的来看看
首先本人加密解密是小白
百度现在出了个搜红包的活动
我发现这个红包活动的验证码是经过加密而来的
右键验证码,然后复制图像地址得到
http://hongbao.app.baidu.com/hongbao/genimg?vcode=3030313031333037393737313333303861707073746F72653132393636323038323530343031303130301EC960B34D30760BDBD650376805D795
这个验证码是ch9b
每次请求这个地址得到的验证码图片的字母都是ch9b,只是样子改变了。
我们来看看这个vcode 经过多个验证码vcode的分析,可以分成这么6个字符串
验证码 ch9b
30303130313--------------干扰
33037393737313333
303861707073746F72653132393636323-----------------干扰
0383235
3034303130313030--------------干扰
1EC960B34D30760BDBD650376805D795
其中有三个字符串是干扰 ,因为每次得到的vcode都有这相同的三个字符串
另外有3个有用的字符串
33037393737313333
0383235
1EC960B34D30760BDBD650376805D795 //这里有64位 16进制数(因为只有0-9和ABCDEF组成) 可能是des密文
我用第一个字符串 33037393737313333做密钥,第二个字符串加上验证码0383235ch9b做为明文,就得到了一下密文也是64位
FE3F914E6899C848F77F321F1078F8BA des密文,密钥=33037393737313333 明文=0383235ch9b
百度des密文:1EC960B34D30760BDBD650376805D795
我的des密文:FE3F914E6899C848F77F321F1078F8BA
可能是有些许变异,这之后就不知道怎么进行了。
不知道我的想法对不对?
对于加密解密有兴趣的,大家可以来讨论讨论呀
以下是多次刷新验证码得到的vcode
30303130313-----------
73634383431343033
303861707073746F72653132393636323------------
0383937
3034303130313030------------
12E1CA46675962E15346EEDFFCCFA069 tyuy
密钥73634383431343033
明文0383937tyuy
des的密文450573209AF129BF0F259B1A6CBBC63B
30303130313--------
53237313734393234
303861707073746F72653132393636323---------
0393234
3034303130313030--------------
8FE76284CE0274CBFB5B9312ADEF7AAD 2uct
30303130313-----------
03134333635333335
303861707073746F72653132393636323-------
1303237
3034303130313030---------
EC4C23A4D09C0D448CFC96E5BB2C5EA9 x64g
30303130313-----------
73634383431343033
303861707073746F72653132393636323------------
0383937
3034303130313030------------
12E1CA46675962E15346EEDFFCCFA069 tyuy
1 楼 mgcnrx11 2011-02-03 triple des试试 2 楼 ahuango 2011-02-05 有没有可能这个只是个key,验证码在后台获取? 3 楼 ahuango 2011-02-10 楼主你走弯路了。除了最后32个字符,前面的恰好以3X3X的形式出现,是0~9的ASCII值的16进制表示。转成普通字符串后是:
例如: 0010162904594008appstpre129730863404010100
其中appstpre是一直不变的,其后面的9位数字是时间以秒为单位的表示,你可以用javascript的new Date().getTime()比较一下,最后的04010100则是一直不变的。
当vcode=0010162904594008appstpre1297308634时,也是可以生成验证码图片的。最后一位表示的是验证码中的字符个数,这个vcode是4个,你把最后一位改成6就是6个。
好了,我琢磨到这就走不下去了,有这方面的高手可以帮帮楼主。呵呵。 4 楼 thihy 2011-02-10 楼主,你再获取上面的URL看看,已然不是ch9b了 5 楼 xiao5233 2011-02-11 ahuango 写道楼主你走弯路了。除了最后32个字符,前面的恰好以3X3X的形式出现,是0~9的ASCII值的16进制表示。转成普通字符串后是:
例如: 0010162904594008appstpre129730863404010100
其中appstpre是一直不变的,其后面的9位数字是时间以秒为单位的表示,你可以用javascript的new Date().getTime()比较一下,最后的04010100则是一直不变的。
当vcode=0010162904594008appstpre1297308634时,也是可以生成验证码图片的。最后一位表示的是验证码中的字符个数,这个vcode是4个,你把最后一位改成6就是6个。
好了,我琢磨到这就走不下去了,有这方面的高手可以帮帮楼主。呵呵。
确实,3X3X 是0~9的ASCII值的16进制表示,这个规律我没发现,
那后面32位则是验证码加密后的密文了 6 楼 sulifeng 2011-02-12 为什么不需要后32位就能看到验证码呢?