论坛首页 综合技术论坛

百度红包验证码的解密的想法,有兴趣的来看看

浏览 16470 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-02-02  
首先本人加密解密是小白

百度现在出了个搜红包的活动

我发现这个红包活动的验证码是经过加密而来的


右键验证码,然后复制图像地址得到
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
  • 大小: 42.5 KB
   发表时间:2011-02-03  
triple des试试
0 请登录后投票
   发表时间:2011-02-05  
有没有可能这个只是个key,验证码在后台获取?
0 请登录后投票
   发表时间:2011-02-10  
楼主你走弯路了。除了最后32个字符,前面的恰好以3X3X的形式出现,是0~9的ASCII值的16进制表示。转成普通字符串后是:
例如: 0010162904594008appstpre129730863404010100
其中appstpre是一直不变的,其后面的9位数字是时间以秒为单位的表示,你可以用javascript的new Date().getTime()比较一下,最后的04010100则是一直不变的。

当vcode=0010162904594008appstpre1297308634时,也是可以生成验证码图片的。最后一位表示的是验证码中的字符个数,这个vcode是4个,你把最后一位改成6就是6个。

好了,我琢磨到这就走不下去了,有这方面的高手可以帮帮楼主。呵呵。
0 请登录后投票
   发表时间:2011-02-10  
楼主,你再获取上面的URL看看,已然不是ch9b了
0 请登录后投票
   发表时间: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位则是验证码加密后的密文了
0 请登录后投票
   发表时间:2011-02-12  
为什么不需要后32位就能看到验证码呢?
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics