开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3763|回复: 21
收起左侧

[大家谈谈] 懂js的 高手 帮帮忙吧 谢谢了

[复制链接]
结帖率:100% (6/6)
发表于 2011-6-27 10:00:57 | 显示全部楼层 |阅读模式   内蒙古自治区赤峰市
最近在写 一款微博的 活动工具 遇到了难题 微博登陆的密码加密 囧啊  不太懂
用没加密的方式登录微博 取不到我返回的值 切 跳转 提示 未登录 于是开始 找sina的 加密 方式
功夫不负有心人 找到了 js的 加密 不过找到了 却又不是很懂 找到了 sina的密码 登陆的算法 :
password = sinaSSOEncoder.hex_sha1("" + sinaSSOEncoder.hex_sha1(sinaSSOEncoder.hex_sha1(password)) + me.servertime + me.nonce);

希望 有懂js的 高手 帮忙 做个例程  
sina的 js 下载地址 :http://login.sina.com.cn/js/sso/ssologin.js

是调用方式吗 ? 真滴是不懂 囧死我了 高手 啊 高手 等的额 寂寞啊 菊花痒啊 。。我勒个去 、
联系我:  大部分时间在线 。{:soso_e105:}
结帖率:100% (6/6)
 楼主| 发表于 2011-6-27 10:02:05 | 显示全部楼层   内蒙古自治区赤峰市
{:3_244:}沙发 {:3_227:} 坐等高手 。
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
 楼主| 发表于 2011-6-27 21:42:40 | 显示全部楼层   内蒙古自治区赤峰市
{:3_227:}木有人么 人工置顶上去 。
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
 楼主| 发表于 2011-6-29 18:49:33 | 显示全部楼层   内蒙古自治区赤峰市
{:3_227:}终究还是沉了 。。
回复 支持 反对

使用道具 举报

结帖率:74% (17/23)
发表于 2011-6-30 22:22:57 | 显示全部楼层   广东省广州市
帮你顶,因为我也想知道新浪微博怎么登陆的?
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
 楼主| 发表于 2011-7-1 19:37:12 | 显示全部楼层   内蒙古自治区赤峰市
nandehutu 发表于 2011-6-30 22:22
帮你顶,因为我也想知道新浪微博怎么登陆的?

一起顶上去
回复 支持 反对

使用道具 举报

结帖率:100% (25/25)

签到天数: 2 天

发表于 2011-7-2 12:30:02 | 显示全部楼层   广东省东莞市
怎么加密就这么解密,
你那还不如用网页填表方式,
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
 楼主| 发表于 2011-7-4 19:36:14 | 显示全部楼层   内蒙古自治区赤峰市
p39099176q 发表于 2011-7-2 12:30
怎么加密就这么解密,
你那还不如用网页填表方式,

网页填表 恶心 技术菜 才网页填表 post登录的已经成功了 只是想学习下 分析js而已。
回复 支持 反对

使用道具 举报

结帖率:0% (0/3)
发表于 2011-7-5 12:20:23 | 显示全部楼层   广东省东莞市
var   hexcase   =   0;
var   chrsz       =   8;
function hex_sha1(s){return   binb2hex(core_sha1(str2binb(s),s.length   *   chrsz));};
/*   
  *   Calculate   the   SHA-1   of   an   array   of   big-endian   words,   and   a   bit   length   
  */   
var core_sha1 = function(x,   len) {   
/*   append   padding   */   
x[len   >>   5]   |=   0x80   <<   (24   -   len   %   32);   
x[((len   +   64   >>   9)   <<   4)   +   15]   =   len;   

var   w   =   Array(80);   
var   a   =     1732584193;   
var   b   =   -271733879;   
var   c   =   -1732584194;   
var   d   =     271733878;   
var   e   =   -1009589776;   

for(var   i   =   0;   i   <   x.length;   i   +=   16) {   
         var   olda   =   a;   
         var   oldb   =   b;   
         var   oldc   =   c;   
         var   oldd   =   d;   
         var   olde   =   e;   

         for(var   j   =   0;   j   <   80;   j++) {   
                 if(j   <   16)   w[j]   =   x[i   +   j];   
                 else   w[j]   =   rol(w[j-3]   ^   w[j-8]   ^   w[j-14]   ^   w[j-16],   1);   
                 var   t   =   safe_add(safe_add(rol(a,   5),   sha1_ft(j,   b,   c,   d)),     
                                 safe_add(safe_add(e,   w[j]),   sha1_kt(j)));   
                 e   =   d;   
                 d   =   c;   
                 c   =   rol(b,   30);   
                 b   =   a;   
                 a   =   t;   
         }   

         a   =   safe_add(a,   olda);   
         b   =   safe_add(b,   oldb);   
         c   =   safe_add(c,   oldc);   
         d   =   safe_add(d,   oldd);   
         e   =   safe_add(e,   olde);   
}   
return   Array(a,   b,   c,   d,   e);   

};

/*   
  *   Perform   the   appropriate   triplet   combination   function   for   the   current   
  *   iteration   
  */   
var sha1_ft = function(t,   b,   c,   d) {   
         if(t   <   20)   return   (b   &   c)   |   ((~b)   &   d);   
         if(t   <   40)   return   b   ^   c   ^   d;   
         if(t   <   60)   return   (b   &   c)   |   (b   &   d)   |   (c   &   d);   
         return   b   ^   c   ^   d;   
};

/*   
  *   Determine   the   appropriate   additive   constant   for   the   current   iteration   
  */   
var sha1_kt = function(t) {   
         return   (t   <   20)   ?     1518500249   :   (t   <   40)   ?     1859775393   :   
                 (t   <   60)   ?   -1894007588   :   -899497514;   
};      
/*   
  *   Add   integers,   wrapping   at   2^32.   This   uses   16-bit   operations   internally   
  *   to   work   around   bugs   in   some   JS   interpreters.   
  */   
var safe_add = function(x,   y) {   
         var   lsw   =   (x   &   0xFFFF)   +   (y   &   0xFFFF);   
         var   msw   =   (x   >>   16)   +   (y   >>   16)   +   (lsw   >>   16);   
         return   (msw   <<   16)   |   (lsw   &   0xFFFF);   
};  

/*   
  *   Bitwise   rotate   a   32-bit   number   to   the   left.   
  */   
var rol = function(num,   cnt) {   
         return   (num   <<   cnt)   |   (num   >>>   (32   -   cnt));   
};  

/*   
  *   Convert   an   8-bit   or   16-bit   string   to   an   array   of   big-endian   words   
  *   In   8-bit   function,   characters   >255   have   their   hi-byte   silently   ignored.   
  */   
var str2binb = function(str) {   
         var   bin   =   Array();   
         var   mask   =   (1   <<   chrsz)   -   1;
         for(var   i   =   0;   i   <   str.length   *   chrsz;   i   +=   chrsz)
                 bin[i>>5]   |=   (str.charCodeAt(i   /   chrsz)   &   mask)   <<   (24   -   i%32);
         return   bin;     
};


/*   
  *   Convert   an   array   of   big-endian   words   to   a   hex   string.   
  */   
var binb2hex = function(binarray) {   
         var   hex_tab   =   hexcase   ?   "0123456789ABCDEF"   :   "0123456789abcdef";   
         var   str   =   "";   
         for(var   i   =   0;   i   <   binarray.length   *   4;   i++)   
         {   
                 str   +=   hex_tab.charAt((binarray[i>>2]   >>   ((3   -   i%4)*8+4))   &   0xF)   +   
                         hex_tab.charAt((binarray[i>>2]   >>   ((3   -   i%4)*8     ))   &   0xF);   
         }   
         return   str;   
};
回复 支持 反对

使用道具 举报

结帖率:0% (0/3)
发表于 2011-7-5 12:21:05 | 显示全部楼层   广东省东莞市
hex_sha1加密JS
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表