关于登录部分的代码太长了,所以决定 把js部分分离开来,本来想把加密的js,上传到下载的,不过想想,这样太坑爹了了,本来就一个简单的js,还去片积分,太不像话了,下面就具体来讲讲58同城登录部分的加密和相关加密的技术:
58同城的登录,一共采用了2中加密方式,第一种加密方式,是58同城自己的,另外一种加密技术,叫做rsa加密:
下面先把第一部分的加密的js,贴出来:(加密的方法,在我的另外一篇文中里面有提及,可以去我的博客主页看看)
var hexcase=0;var b64pad="";var chrsz=8;function hex_md5(a){return binl2hex(core_md5(str2binl(a),a.length*chrsz));}function b64_md5(a){return binl2b64(core_md5(str2binl(a),a.length*chrsz));}function hex_hmac_md5(a,c){return binl2hex(core_hmac_md5(a,c));}function
b64_hmac_md5(a,c){return binl2b64(core_hmac_md5(a,c));}function calcMD5(a){return binl2hex(core_md5(str2binl(a),a.length*chrsz));}function hex_md5_16(c){var a=hex_md5(c);a=a.substring(8,24);return reverse(a);}function core_md5(r,k){r[k>>5]|=128<<((k)%32);r[(((k+64)>>>9)<<4)+14]=k;var
q=1732584193;var p=-271733879;var m=-1732584194;var l=271733878;for(var g=0;g<r.length;g+=16){var j=q;var h=p;var f=m;var e=l;q=md5_ff(q,p,m,l,r[g+0],7,-680876936);l=md5_ff(l,q,p,m,r[g+1],12,-389564586);m=md5_ff(m,l,q,p,r[g+2],17,606105819);p=md5_ff(p,m,l,q,r[g+3],22,-1044525330);q=md5_ff(q,p,m,l,r[g+4],7,-176418897);l=md5_ff(l,q,p,m,r[g+5],12,1200080426);m=md5_ff(m,l,q,p,r[g+6],17,-1473231341);p=md5_ff(p,m,l,q,r[g+7],22,-45705983);q=md5_ff(q,p,m,l,r[g+8],7,1770035416);l=md5_ff(l,q,p,m,r[g+9],12,-1958414417);m=md5_ff(m,l,q,p,r[g+10],17,-42063);p=md5_ff(p,m,l,q,r[g+11],22,-1990404162);q=md5_ff(q,p,m,l,r[g+12],7,1804603682);l=md5_ff(l,q,p,m,r[g+13],12,-40341101);m=md5_ff(m,l,q,p,r[g+14],17,-1502002290);p=md5_ff(p,m,l,q,r[g+15],22,1236535329);q=md5_gg(q,p,m,l,r[g+1],5,-165796510);l=md5_gg(l,q,p,m,r[g+6],9,-1069501632);m=md5_gg(m,l,q,p,r[g+11],14,643717713);p=md5_gg(p,m,l,q,r[g+0],20,-373897302);q=md5_gg(q,p,m,l,r[g+5],5,-701558691);l=md5_gg(l,q,p,m,r[g+10],9,38016083);m=md5_gg(m,l,q,p,r[g+15],14,-660478335);p=md5_gg(p,m,l,q,r[g+4],20,-405537848);q=md5_gg(q,p,m,l,r[g+9],5,568446438);l=md5_gg(l,q,p,m,r[g+14],9,-1019803690);m=md5_gg(m,l,q,p,r[g+3],14,-187363961);p=md5_gg(p,m,l,q,r[g+8],20,1163531501);q=md5_gg(q,p,m,l,r[g+13],5,-1444681467);l=md5_gg(l,q,p,m,r[g+2],9,-51403784);m=md5_gg(m,l,q,p,r[g+7],14,1735328473);p=md5_gg(p,m,l,q,r[g+12],20,-1926607734);q=md5_hh(q,p,m,l,r[g+5],4,-378558);l=md5_hh(l,q,p,m,r[g+8],11,-2022574463);m=md5_hh(m,l,q,p,r[g+11],16,1839030562);p=md5_hh(p,m,l,q,r[g+14],23,-35309556);q=md5_hh(q,p,m,l,r[g+1],4,-1530992060);l=md5_hh(l,q,p,m,r[g+4],11,1272893353);m=md5_hh(m,l,q,p,r[g+7],16,-155497632);p=md5_hh(p,m,l,q,r[g+10],23,-1094730640);q=md5_hh(q,p,m,l,r[g+13],4,681279174);l=md5_hh(l,q,p,m,r[g+0],11,-358537222);m=md5_hh(m,l,q,p,r[g+3],16,-722521979);p=md5_hh(p,m,l,q,r[g+6],23,76029189);q=md5_hh(q,p,m,l,r[g+9],4,-640364487);l=md5_hh(l,q,p,m,r[g+12],11,-421815835);m=md5_hh(m,l,q,p,r[g+15],16,530742520);p=md5_hh(p,m,l,q,r[g+2],23,-995338651);q=md5_ii(q,p,m,l,r[g+0],6,-198630844);l=md5_ii(l,q,p,m,r[g+7],10,1126891415);m=md5_ii(m,l,q,p,r[g+14],15,-1416354905);p=md5_ii(p,m,l,q,r[g+5],21,-57434055);q=md5_ii(q,p,m,l,r[g+12],6,1700485571);l=md5_ii(l,q,p,m,r[g+3],10,-1894986606);m=md5_ii(m,l,q,p,r[g+10],15,-1051523);p=md5_ii(p,m,l,q,r[g+1],21,-2054922799);q=md5_ii(q,p,m,l,r[g+8],6,1873313359);l=md5_ii(l,q,p,m,r[g+15],10,-30611744);m=md5_ii(m,l,q,p,r[g+6],15,-1560198380);p=md5_ii(p,m,l,q,r[g+13],21,1309151649);q=md5_ii(q,p,m,l,r[g+4],6,-145523070);l=md5_ii(l,q,p,m,r[g+11],10,-1120210379);m=md5_ii(m,l,q,p,r[g+2],15,718787259);p=md5_ii(p,m,l,q,r[g+9],21,-343485551);q=safe_add(q,j);p=safe_add(p,h);m=safe_add(m,f);l=safe_add(l,e);}return
Array(q,p,m,l);}function md5_cmn(h,e,d,c,g,f){return safe_add(bit_rol(safe_add(safe_add(e,h),safe_add(c,f)),g),d);}function md5_ff(g,f,l,k,e,j,h){return md5_cmn((f&l)|((~f)&k),g,f,e,j,h);}function md5_gg(g,f,l,k,e,j,h){return md5_cmn((f&k)|(l&(~k)),g,f,e,j,h);}function
md5_hh(g,f,l,k,e,j,h){return md5_cmn(f^l^k,g,f,e,j,h);}function md5_ii(g,f,l,k,e,j,h){return md5_cmn(l^(f|(~k)),g,f,e,j,h);}function core_hmac_md5(d,g){var f=str2binl(d);if(f.length>16){f=core_md5(f,d.length*chrsz);}var a=Array(16),e=Array(16);for(var c=0;c<16;c++){a[c]=f[c]^909522486;e[c]=f[c]^1549556828;}var
h=core_md5(a.concat(str2binl(g)),512+g.length*chrsz);return core_md5(e.concat(h),512+128);}function safe_add(a,e){var d=(a&65535)+(e&65535);var c=(a>>16)+(e>>16)+(d>>16);return(c<<16)|(d&65535);}function bit_rol(a,c){return(a<<c)|(a>>>(32-c));}function str2binl(e){var
d=Array();var a=(1<<chrsz)-1;for(var c=0;c<e.length*chrsz;c+=chrsz){d[c>>5]|=(e.charCodeAt(c/chrsz)&a)<<(c%32);}return d;}function binl2hex(d){var c=hexcase?"0123456789ABCDEF":"0123456789abcdef";var e="";for(var a=0;a<d.length*4;a++){e+=c.charAt((d[a>>2]>>((a%4)*8+4))&15)+c.charAt((d[a>>2]>>((a%4)*8))&15);}return
e;}function binl2b64(e){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var g="";for(var c=0;c<e.length*4;c+=3){var f=(((e[c>>2]>>8*(c%4))&255)<<16)|(((e[c+1>>2]>>8*((c+1)%4))&255)<<8)|((e[c+2>>2]>>8*((c+2)%4))&255);for(var a=0;a<4;a++){if(c*8+a*6>e.length*32){g+=b64pad;}else{g+=d.charAt((f>>6*(3-a))&63);}}}return
g;}function reverse(d){var a="";for(var c=d.length-1;c>=0;c--){a+=d.charAt(c);}return a;}function getm32str(c,a){if(a.length!=13){alert("timesign error !!!");return"";}return hex_md5(hex_md5(c)+a.substring(5,11));}function getm16str(c,a){if(a.length!=13){alert("timesign
error !!!");return"";}return hex_md5(hex_md5_16(c)+a.substring(5,11));}
没做整理,所以贴完代码后,总觉得,乱七八糟的,谅解一下了
第二种,加密,叫rsa加密算法,很多网站都采用了这个加密算法,比如起点小说网,盛大游戏网等等等等,这个主题代码太多了,我就上传个附件吧
大家去这个网址下载:(rsa.pack.js):
http://download.csdn.net/detail/hu474676693/8660613
好了,大家有啥问题,可以给我留言,加密算法有啥难度,也可以联系我啊
分享到:
相关推荐
总的来说,HttpClient4提供了一个强大而灵活的框架,可以用来模拟登录各种网站,包括百度和58同城。然而,每个网站的登录机制都有所不同,所以需要根据具体情况进行调整和优化。在开发过程中,务必遵守网站的使用...
在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...
在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景。 首先,我们需要理解HttpClient的基本使用。HttpClient的核心类包括HttpClient本身,HttpGet、HttpPost...
本示例探讨的是如何使用HTTPClient库在客户端发送XML报文到服务器端,且报文通过POST方法传递,并可能涉及加密处理,确保数据的安全性。 首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许...
httpclient技术介绍
本示例将详细介绍如何使用HttpClient实现网易相册的登录。 首先,我们需要了解HttpClient的基本使用。HttpClient主要包括以下几个核心组件: 1. `CloseableHttpClient`:这是HttpClient的主要接口,负责创建和管理...
标题中的“httpclient 获取技术博客列表”指的是使用Apache HttpClient库来获取网络上的技术博客列表。HttpClient是一个Java库,它提供了一种丰富的API来执行HTTP请求,包括GET、POST等方法,用于从网页抓取数据。在...
本篇文章将深入探讨如何使用HTTPClient来实现session会话的保持,并在模拟登录后执行后续的操作。 首先,了解HTTP协议的基础知识是非常重要的。HTTP协议是无状态的,这意味着每次请求之间没有任何关联。为了保持...
本篇文章将详细探讨如何利用HttpClient来实现登录网易邮箱的功能。 首先,HttpClient是一个开源的Java库,由Apache基金会维护,它允许开发人员执行HTTP请求并处理响应。HttpClient提供了丰富的API,可以方便地实现...
在Java编程领域,模拟登录是一项常见的任务,...总之,Java模拟登录58同城是一项涉及网络编程、HTTP交互、HTML解析以及可能的加密解密技术的任务。通过学习和实践,你可以掌握这些技能,并将其应用到其他类似的项目中。
在描述中提到,“最新版httpclient自动登录人人代码”意味着这个压缩包包含了一个使用HttpClient实现的人人网登录程序。这个程序可能包含了设置用户名和密码,发送POST请求到人人网登录接口,以及解析和验证登录结果...
在本例中,我们将探讨如何使用HttpClient登录163邮箱。 1. **HttpClient基本概念** HttpClient库提供了对HTTP协议的全面支持,包括各种HTTP方法(GET、POST、PUT等)、重定向处理、身份验证、cookie管理等。它的...
本示例将围绕一个基于Spring框架实现的JSON接口,结合HTTPClient库进行网络通信,并利用DES(Data Encryption Standard)加密解密技术确保数据安全。 首先,我们来看JSON接口的实现。Spring框架提供了丰富的支持来...
本案例中,我们将聚焦于一个特定的应用场景:使用C#编程语言和正则表达式来搜索58同城网站上的二手手机信息,特别是价格低于500元的手机。这涉及到网页数据的解析、网络请求以及文本匹配等多个知识点。 首先,我们...
本篇文章将详细讲解如何使用HttpClient进行模拟登录操作,结合源码分析,帮助开发者深入理解其工作原理。 HttpClient库由Apache基金会开发,提供了全面的HTTP协议支持,包括标准与扩展的HTTP方法、连接管理、重试...
HttpClient 4.4.1是HttpClient系列的一个稳定版本,它主要关注性能优化和错误修复。以下是一些关键特性: - **连接管理**:HttpClient 4.4.1引入了更智能的连接管理和重用策略,提高了并发性能。它支持多路复用,...
这篇博客“HttpClient4模拟登录回贴”显然探讨了如何利用HttpClient4库进行网络模拟登录以及在特定网站上发布帖子。HttpClient4适用于各种场景,如自动化测试、数据抓取等,它允许开发者构建复杂的HTTP交互逻辑。 ...
在实际应用中,`h_login_11.js`文件可能是腾讯微博登录页面的一部分,可能包含了登录表单的JavaScript验证逻辑或其他与登录相关的脚本。分析这个文件可以帮助我们更好地理解登录过程,尤其是当网站有动态加载或者...
2. **登录和cookie管理**:处理登录过程,保存和发送cookie,以便于访问需要登录的页面。 3. **模拟浏览器行为**:设置User-Agent,处理JavaScript,支持cookies,模仿真实用户的行为。 4. **反反爬策略**:应对...