一道腾讯面试题,大家看看如何??

firerun 2011-04-07 04:22:53

首先给一个地址

http://pay.qq.com/include/login_box.html?url=http://pay.qq.com/

有工具 比如 firefox 、 google chrome 等网页代码查看工具。

要求用一段 js 实现下列功能,
已知 用户名 和 明文密码,实现 提交的过程,如果中间出现校验码,捕获校验码的图片。

时长120分钟。

结果面试失败。
...全文
1435 58 打赏 收藏 转发到动态 举报
写回复
用AI写文章
58 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_oxen 2012-03-16
  • 打赏
  • 举报
回复
嘎嘎~ delphi轻松实现~~~~
lezai001 2011-10-03
  • 打赏
  • 举报
回复
鸭梨山大……
arameter 2011-09-26
  • 打赏
  • 举报
回复
是上机做吗
luogmm 2011-06-30
  • 打赏
  • 举报
回复
验证码应该是在提交以后,后台验证后再传来个判读信息吧
firerun 2011-05-16
  • 打赏
  • 举报
回复
差不多就是这个意思


53楼 和 21楼 都是牛人
打字员 2011-04-10
  • 打赏
  • 举报
回复
大概的扒了一下页面,登录过程如下:

输入QQ号或者是QQ绑定的邮箱,当输入框失去焦点后,会进行验证以确定是否需要验证码(验证码的形式分两种,一种是生成一个图片,需要用户输入指定的字符,一种是程序返回时自带验证码,不用用户输入;有一种情况是不会触发请求的:清空输入框后,重新输入相同的字符串)

输入密码

如果需要,输入验证码

提交表单(这一过程中会将密码和验证码合并加密)

整个过程中的请求都是用<script>来完成的

验证图片的获取:

在整个登录过程中,没有发现一全局的状态变量可以用来判断是否生成了验证图片,但是程序中会有这样一个过程:当帐号输入框失去焦点后,如果本次输入的帐号与上次的不同,则会发送一个验证码请求,图片路径生成以后会使验证码输入框可见,并使密码输入框获取到焦点。所以可以从这里想办法获取到当前有的并且正确的图片路径。

以下是提交代码,没有写在生成了验证图片时获取并输入验证码的过程(只是猜测不会让你可以通过分析代码获取到的,如果有人分析出来了,那就爽了!!!):

function loginIt(u, p) {
var ubox = document.getElementById('u');
var pbox = document.getElementById('p');
var img = document.getElementById('imgVerify');
var vf = document.getElementById("verifyinput");
var s = "";
ubox.focus();
ubox.value = u;
if(g_uin == u){
up();
} else {
addEvent(pbox, 'focus', up);
ubox.blur();
}
function addEvent(o, t, f) {
if(o.att) {
o.attachEvent('on' + t, f);
} else if(o.addEventListener) {
o.addEventListener(t, f, false);
}
}
function up() {
if(img.src && vf.style.display == '') {
s = img.src;
alert(s);
}
pbox.value = p;
document.getElementById('loginform').submit();
}
}
N_banner 2011-04-10
  • 打赏
  • 举报
回复
lihi
nanjiwubingqq 2011-04-09
  • 打赏
  • 举报
回复
靠,这么强
chen870201 2011-04-08
  • 打赏
  • 举报
回复
题目不太明白啊
ddyouyue 2011-04-08
  • 打赏
  • 举报
回复
个人觉得用js实现不太可能
用java的Socket或者httpurlconnection来创建连接来处理和捕获验证码图片还是有可能实现的
ShanHaiyang 2011-04-08
  • 打赏
  • 举报
回复
fly
yingtju 2011-04-08
  • 打赏
  • 举报
回复
首先找出iframe的src是
http://ui.ptlogin2.qq.com/cgi-bin/login?appid=11000101&f_url=loginerroralert&hide_title_bar=1&link_target=blank&ep=http://pay.qq.com/cgi-bin/login/qqacctlogin.cgi&s_url=http://pay.qq.com/&qlogin_jumpname=payjump&qlogin_param=url%3Dhttp://pay.qq.com/

通过这个页面能查到js具体功能由这个实现,加载图片的函数onload='imgLoadReport()'就在这里
http://imgcache.qq.com/ptlogin/ac/v9/js/comm.js?v=1.2.5

校验函数ptui_onLogin

function ptui_onLogin(A){
try{if(parent.ptlogin2_onLogin){
if(!parent.ptlogin2_onLogin())
{return false}}
if(parent.ptlogin2_onLoginEx){
var D=A.u.value;
var B=A.verifycode.value;
if(str_uintip==D)
{D=""}
if(!parent.ptlogin2_onLoginEx(D,B)){return false}}
}catch(C){}
return ptui_checkValidate(A)
}

通过这个函数,貌似图片的信息会赋值给A.u这个label,然后校验你输入的A.verifycode.value和它是不是相同

解决的思路是
调用imgLoadReport,取到A.u即image里的值
调用submit
具体细节大家感兴趣再研究下吧
JIESA 2011-04-08
  • 打赏
  • 举报
回复
fly
hch126163 2011-04-08
  • 打赏
  • 举报
回复
firebug 怎么检测不到
http://pay.qq.com/include/login_box.html?url=http://pay.qq.com/
调用了js
<script src="http://imgcache.qq.com/ptlogin/ac/v9/js/comm.js?v=1.2.5" language="javascript"></script>


非要在
http://ui.ptlogin2.qq.com/cgi-bin/login?appid=11000101&f_url=loginerroralert&hide_title_bar=1&link_target=blank&ep=http%3A//pay.qq.com/cgi-bin/login/qqacctlogin.cgi&s_url=http%3A//pay.qq.com/&qlogin_jumpname=payjump&qlogin_param=url%3Dhttp%253A//pay.qq.com/

此页面才能找到!

估计是 iframe 加载完成时,此js 还没加载完!

还是奇怪 firebug :
iframe 中
setTimeout ajax 提交的,它都能检测到。这个js 加载了,怎么就检测不到!
hch126163 2011-04-08
  • 打赏
  • 举报
回复
续:


function ptui_checkPwdOnInput(){if($("p").value.length>=16){return false}return true}function ptui_onLogin(A){try{if(parent.ptlogin2_onLogin){if(!parent.ptlogin2_onLogin()){return false}}if(parent.ptlogin2_onLoginEx){var D=A.u.value;var B=A.verifycode.value;if(str_uintip==D){D=""}if(!parent.ptlogin2_onLoginEx(D,B)){return false}}}catch(C){}return ptui_checkValidate(A)}function ptui_onLoginEx(B,C){g_time.time12=new Date();if(ptui_onLogin(B)){var A=new Date();A.setHours(A.getHours()+24*30);if((g_appid==t_appid)&&isNaN(B.u.value)&&(B.u.value.indexOf("@")<0)){setCookie("ptui_loginuin2",B.u.value,A,"/","ui.ptlogin2."+C)}else{setCookie("ptui_loginuin",B.u.value,A,"/","ui.ptlogin2."+C)}if(pt.isHttps){return true}}return false}function ptui_onReset(A){try{if(parent.ptlogin2_onReset){if(!parent.ptlogin2_onReset()){return false}}}catch(B){}return true}function ptui_checkValidate(B){var A=B.u;var D=B.p;var E=B.verifycode;if(A.value==""||str_uintip==A.value){pt.show_err(str_no_uin);A.focus();return false}A.value=A.value.trim();if(!pt.chkUin(A.value)){pt.show_err(str_inv_uin);A.focus();A.select();return false}if(D.value==""){pt.show_err(str_no_pwd);D.focus();return false}if(E.value==""){if(!isLoadVC){loadVC(true);g_submitting=true;return false}pt.show_err(str_no_vcode);try{E.focus()}catch(C){}if(!g_loadcheck){ptui_reportAttr(78028)}else{ptui_reportAttr(78029)}return false}if(E.value.length<4){pt.show_err(str_inv_vcode);E.focus();E.select();return false}D.setAttribute("maxlength","32");ajax_Submit();ptui_reportNum(g_changeNum);g_changeNum=0;return true}var hexcase=1;var b64pad="";var chrsz=8;var mode=32;function preprocess(A){var B="";B+=A.verifycode.value;B=B.toUpperCase();A.p.value=md5(md5_3(A.p.value)+B);return true}function md5_3(B){var A=new Array;A=core_md5(str2binl(B),B.length*chrsz);A=core_md5(A,16*chrsz);A=core_md5(A,16*chrsz);return binl2hex(A)}function md5(A){return hex_md5(A)}function hex_md5(A){return binl2hex(core_md5(str2binl(A),A.length*chrsz))}function str_md5(A){return binl2str(core_md5(str2binl(A),A.length*chrsz))}function hex_hmac_md5(A,B){return binl2hex(core_hmac_md5(A,B))}function b64_hmac_md5(A,B){return binl2b64(core_hmac_md5(A,B))}function str_hmac_md5(A,B){return binl2str(core_hmac_md5(A,B))}
hch126163 2011-04-08
  • 打赏
  • 举报
回复

1String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"")};var sys={$:function(A){return document.getElementById(A)},onload:function(B,C){var A=window.onload;window.onload=function(){if(C){if(typeof (B)=="function"){B()}if(typeof (A)=="function"){A()}}else{if(typeof (A)=="function"){A()}if(typeof (B)=="function"){B()}}}},getQueryValue:function(B,E){var D="&"+window.location.search.replace(/^\?/g,"");if(E){D="&"+E}var A="";var C="&"+B+"=";if(D.length>0){offset=D.indexOf(C);if(offset!=-1){offset+=C.length;end=D.indexOf("&",offset);if(end==-1){end=D.length}A=unescape(D.substring(offset,end))}}return A}};function getCookie(B){var A=document.cookie.match(new RegExp("(^| )"+B+"=([^;]*)(;|$)"));if(A!=null){return A[2]}return null}function setCookie(C,E){var A=setCookie.arguments;var H=setCookie.arguments.length;var B=(2<H)?A[2]:null;var G=(3<H)?A[3]:null;var D=(4<H)?A[4]:null;var F=(5<H)?A[5]:null;document.cookie=C+"="+escape(E)+((B==null)?" ":(";expires ="+B.toGMTString()))+((G==null)?" ":(";path = "+G))+((D==null)?" ":(";domain ="+D))+((F==true)?";secure":" ")}var pt={t_appid:46000101,isHttps:false,err_m:null,mibao_css:"",init:function(){if(pt.t_appid==g_appid){if(sys.$("u")){sys.$("u").setAttribute("style","")}sys.$("u").style.cssText=""}pt.isHttps=(/^https/g.test(window.location+""));sys.onload(function(){pt.err_m=sys.$("err_m")});pt.mibao_css=sys.getQueryValue("mibao_css")},show_err:function(A){if(pt.err_m&&(typeof ptui_notifySize=="function")){pt.err_m.innerHTML=A;pt.err_m.style.display="block";ptui_notifySize("login");return }else{alert(A)}},chkUin:function(qquin){qquin=qquin.trim();if(qquin.length==0){return false}if(window.location.hostname.match(/paipai.com$/)){if(qquin.length<64&&(new RegExp(/^[A-Za-z0-9]+@{1}[A-Za-z0-9]+$/).test(qquin))){return true}}if((new RegExp(/^[a-zA-Z]{1}([a-zA-Z0-9]|[-_]){0,19}$/).test(qquin))){if(t_appid==g_appid){return true}else{$("u").value=$("u").value.trim()+"@qq.com";qquin=$("u").value}}if(t_appid==g_appid){if(qquin=="<请输入帐号>"){return false}if(/[\u4E00-\u9FA5]/g.test(qquin)){if(qquin.length>8){return false}return true}}if(!(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(qquin))){if(qquin.length<5||qquin.length>12||parseInt(qquin)<1000){return false}var exp=eval("/^[0-9]*$/");return exp.test(qquin)}return true}};pt.init();var vc_type="";var lastUin=1;var t_appid=46000101;var g_changeNum=0;var g_checkTime=0;var g_imgTime=0;var first=true;var changeimg=false;var defaultuin="";var login_param=g_href.substring(g_href.indexOf("?")+1);function ptui_onEnableLLogin(B){var A=B.low_login_enable;var C=B.low_login_hour;if(A!=null&&C!=null){C.disabled=!A.checked}}function ptui_setDefUin(C,B){if(B==""||B==null){B=getCookie("ptui_loginuin");if(B){defaultuin=B}}if(g_appid==t_appid){var A=getCookie("ptui_loginuin2");if(A){B=unescape(A);defaultuin=B}}if(B!=""&&B!=null){C.u.value=B}}var g_ptredirect=-1;var g_xmlhttp;var g_loadcheck=true;var g_submitting=false;function ptui_needVC(C,D){if(t_appid==D){if((C.indexOf("@")<0)&&isNaN(C)){C="@"+C}}var B="";if(pt.isHttps){ptui_checkVC("1","");return }else{B="http://ptlogin2."+g_domain+"/check?uin="+C+"&appid="+D+"&r="+Math.random()}var A=document.createElement("script");g_imgTime=new Date();A.src=B;document.body.appendChild(A);g_loadcheck=true;return }function ptui_checkVC(A,B){g_loadcheck=false;g_checkTime=new Date().getTime()-g_checkTime;if(g_submitting){return }var D=new Date();if(defaultuin!=""&&g_changeNum<=1){g_time.time7=D;var C={"12":g_time.time7-g_time.time6};if(defaultuin!=""){C["16"]=g_time.time6-g_time.time3,C["17"]=g_time.time7-g_time.time3}if(!xuiFrame){ptui_speedReport(C)}}else{g_time.time10=D;var C={"13":g_time.time10-g_time.time9};ptui_speedReport(C)}if(A=="0"){$("verifycode").value=B;loadVC(false)}else{vc_type=B;$("verifycode").value="";loadVC(true)}}function ptui_changeImg(E,D,H){changeimg=true;var G=g_uin;if((g_appid==t_appid)&&isNaN(g_uin)&&(g_uin.indexOf("@")<0)){G="@"+g_uin}var B=(pt.isHttps?"https://ssl.":"http://")+"captcha."+E+"/getimage?&uin="+G+("pt.isHttps"?"":("&vc_type="+vc_type))+"&aid="+D+"&"+Math.random();var A=$("imgVerify");try{if(A!=null){A.src=B;var C=$("verifycode");if(C!=null&&C.disabled==false&&H){C.focus();C.select()}}}catch(F){}}function ptui_initFocus(B){try{var A=B.u;var D=B.p;var E=B.verifycode;if(A.value==""||str_uintip==A.value){A.focus();return }if(D.value==""){D.focus();return }if(E.value==""){E.focus()}}catch(C){}}function ajax_Submit(){var D=true;var E=document.forms[0];var B="";for(var A=0;A<E.length;A++){if(E[A].name=="fp"||E[A].type=="submit"){continue}if(E[A].name=="ptredirect"){g_ptredirect=E[A].value}if(E[A].name=="low_login_enable"&&(!E[A].checked)){D=false;continue}if(E[A].name=="low_login_hour"&&(!D)){continue}if(E[A].name=="webqq_type"&&(!E[A].checked)){continue}B+=E[A].name;B+="=";if(t_appid==g_appid&&E[A].name=="u"&&E[A].value.indexOf("@")<0&&isNaN(E[A].value)){B+="@"+E[A].value+"&";continue}if(E[A].name=="p"){var F="";F+=E.verifycode.value;F=F.toUpperCase();B+=md5(md5_3(E.p.value)+F);if(pt.isHttps){E.p.value=md5(md5_3(E.p.value)+F)}}else{if(E[A].name=="u1"||E[A].name=="ep"){B+=encodeURIComponent(E[A].value)}else{B+=E[A].value}}B+="&"}B+="fp=loginerroralert";if(pt.isHttps){return true}var C=document.createElement("script");C.src=E.action+"?"+B+"&mibao_css="+pt.mibao_css;document.cookie="login_param="+encodeURIComponent(login_param)+";domain=ui.ptlogin2."+g_domain+";path=/";document.body.appendChild(C);return }function ptuiCB(C,A,B,G,F){$("p").blur();g_time.time13=new Date();var E={"15":g_time.time13-g_time.time12};ptui_speedReport(E);first=false;if(B!=""){switch(G){case"0":window.location.href=B;break;case"1":top.location.href=B;break;case"2":parent.location.href=B;break;default:top.location.href=B}return }g_submitting=false;if(C==0){top.location=document.forms[0].ul.value;return }else{if(A==0){if(F&&F!=""){pt.show_err(F)}else{pt.show_err("您的输入有误,请重试。")}}else{pt.show_err(F);$("p").value="";$("p").focus();$("p").select()}if(isLoadVC){ptui_changeImg(g_domain,g_appid,true);$("verifycode").value="";loadVC(true);$("verifycode").focus();$("verifycode").select()}else{if(A==0){g_uin=0}}if(C==3||C==4){if(navigator.userAgent.toLowerCase().indexOf("webkit")>-1){$("u").focus()}if(C==3){$("p").value=""}$("p").focus();$("p").select();if(C==4){try{$("verifycode").focus();$("verifycode").select()}catch(D){}}if(A!=0){$("verifycode").value="";loadVC(true);g_submitting=true}}}}function browser_version(){var A=navigator.userAgent.toLowerCase();return A.match(/msie ([\d.]+)/)?1:A.match(/firefox\/([\d.]+)/)?3:A.match(/chrome\/([\d.]+)/)?5:A.match(/opera.([\d.]+)/)?9:A.match(/version\/([\d.]+).*safari/)?7:1}function ptui_reportSpeed(D,C){if(pt.isHttps){return }if(Math.random()>0.001){return }var A=browser_version();url="http://isdspeed.qq.com/cgi-bin/r.cgi?flag1=6000&flag2=1&flag3="+A;for(var B=0;B<g_speedArray.length;B++){url+="&"+g_speedArray[B][0]+"="+(g_speedArray[B][1]-D)}if(C!=0){url+="&4="+(D-C)}imgSendTimePoint=new Image();imgSendTimePoint.src=url}function ptui_VCReport(){if(Math.random()>0.001){return }if(g_imgTime<1000000000000){return }var A=browser_version();url="http://isdspeed.qq.com/cgi-bin/r.cgi?flag1=6000&flag2=1&flag3="+A;url+="&5="+g_checkTime+"&6="+g_imgTime}function ptui_imgPoint(){if(g_imgTime>0){return }g_imgTime=new Date()-g_imgTime;ptui_VCReport()}function ptui_reportAttr(A){if(Math.random()>0.001){return }url="http://ui.ptlogin2."+g_domain+"/cgi-bin/report?id="+A;imgAttr=new Image();imgAttr.src=url}function ptui_reportNum(B){if(Math.random()>0.001){return }url="http://ui.ptlogin2."+g_domain+"/cgi-bin/report?id=1000&n="+B;var A=new Image();A.src=url}function imgLoadReport(){if(changeimg){return }var A=new Date();var B={};if(defaultuin!=""&&g_changeNum<=1){g_time.time8=A;if(!xuiFrame&&defaultuin!=""){B["9"]=g_time.time8-g_time.time1;B["10"]=g_time.time8-g_time.time3;B["11"]=g_time.time8-g_time.time7}}else{g_time.time11=A;B["14"]=g_time.time11-g_time.time10}ptui_speedReport(B)}function webLoginReport(){var D={};D["7"]=g_time.time3-g_time.time1;if(!xuiFrame){D["8"]=g_time.time4-g_time.time1}try{if(location.hash){var B=location.hash.substring(1,location.hash.length);if(B.indexOf("_")>-1){var A=B.split("_");g_time.time0=A[1]>=A[0]?A[0]:A[1];g_time.time2=A[1]>=A[0]?A[1]:A[0]}else{g_time.time2=B}}}catch(C){}if(g_time.time2&&g_time.time2>0){D["18"]=g_time.time1-g_time.time2;D["21"]=g_time.time3-g_time.time2;if(D["18"]>60000||D["21"]>60000){return }}if(g_time.time0&&g_time.time0>0){D["19"]=g_time.time2-g_time.time0;D["20"]=g_time.time3-g_time.time0;if(D["19"]>60000||D["20"]>60000){return }}ptui_speedReport(D)}function ptui_speedReport(E){if(pt.isHttps){return }if(!first){return }if(Math.random()>0.001){return }var B="http://isdspeed.qq.com/cgi-bin/r.cgi?flag1=6000&flag2=1&flag3="+browser_version();var C=0;for(var D in E){B+="&"+D+"="+E[D];C++}if(C==0){return }var A=new Image();A.src=B}function ptui_notifyClose(){try{if(parent.ptlogin2_onClose){parent.ptlogin2_onClose()}else{if(top==this){window.close()}}}catch(A){window.close()}}function ptui_setUinColor(D,B,A){var C=$(D);if(str_uintip==C.value){C.style.color=A}else{C.style.color=B}}
qingyuan18 2011-04-08
  • 打赏
  • 举报
回复
考察前端编程的,跟java没关系,考你的js,css,dom,html功底
hch126163 2011-04-08
  • 打赏
  • 举报
回复
QQ号:QQ_Num

提交url:
http://ptlogin2.qq.com/login?u=QQ_Num&p=6578876361E396733F1860B2C2E61B83&verifycode=!3SW&aid=11000101&u1=http%3A%2F%2Fpay.qq.com%2F&h=1&ptredirect=1&ptlang=2052&ep=http%3A%2F%2Fpay.qq.com%2Fcgi-bin%2Flogin%2Fqqacctlogin.cgi&from_ui=1&dumy=&fp=loginerroralert&mibao_css=


http://ptlogin2.qq.com/login?u=1053352248&p=BE22CE4774879687E7322C23FC2327E2&verifycode=!V2W&aid=11000101&u1=http%3A%2F%2Fpay.qq.com%2F&h=1&ptredirect=1&ptlang=2052&ep=http%3A%2F%2Fpay.qq.com%2Fcgi-bin%2Flogin%2Fqqacctlogin.cgi&from_ui=1&dumy=&fp=loginerroralert&mibao_css=

验证码URL:
http://captcha.qq.com/getimage?&uin=QQ_Num&aid=11000101&0.7602305768229866

获取验证码值:
http://ptlogin2.qq.com/check?uin=QQ_Num&appid=11000101&r=0.08237909211163019

还需要密码加密的方法:
加密方法很难找!firebug 居然没有加载此js(comm.js) !
我在 onsubmit 添加 debugger; 才进入comm.js
<form style="margin: 0px;" target="_self" onreset="return onFormReset(loginform)" onsubmit="debugger;if(!isAbleSubmit){return false;};return ptui_onLoginEx(loginform, 'qq.com')" method="post" action="http://ptlogin2.qq.com/login" name="loginform" autocomplete="off" id="loginform">

我也没找到它是从哪加载的comm.js 此js!

找到掉用了加密方法:E.p.value 是文本框输入的明文 密码
var B="";
var F="";F+=E.verifycode.value;F=F.toUpperCase();B+=md5(md5_3(E.p.value)+F);if(pt.isHttps){E.p.value=md5(md5_3(E.p.value)+F)}

他把验证码 转成大写 加密加密

加密函数: md5_3 md5

function md5_3(B){var A=new Array;A=core_md5(str2binl(B),B.length*chrsz);A=core_md5(A,16*chrsz);A=core_md5(A,16*chrsz);return binl2hex(A)}

function md5(A){return hex_md5(A)}

再调用: hex_md5 core_md5 binl2hex

function hex_md5(A){return binl2hex(core_md5(str2binl(A),A.length*chrsz))}

function binl2hex(C){var B=hexcase?"0123456789ABCDEF":"0123456789abcdef";var D="";for(var A=0;A<C.length*4;A++){D+=B.charAt((C[A>>2]>>((A%4)*8+4))&15)+B.charAt((C[A>>2]>>((A%4)*8))&15)}return D}

function core_md5(K,F){K[F>>5]|=128<<((F)%32);K[(((F+64)>>>9)<<4)+14]=F;var J=1732584193;var I=-271733879;var H=-1732584194;var G=271733878;for(var C=0;C<K.length;C+=16){var E=J;var D=I;var B=H;var A=G;J=md5_ff(J,I,H,G,K[C+0],7,-680876936);G=md5_ff(G,J,I,H,K[C+1],12,-389564586);H=md5_ff(H,G,J,I,K[C+2],17,606105819);I=md5_ff(I,H,G,J,K[C+3],22,-1044525330);J=md5_ff(J,I,H,G,K[C+4],7,-176418897);G=md5_ff(G,J,I,H,K[C+5],12,1200080426);H=md5_ff(H,G,J,I,K[C+6],17,-1473231341);I=md5_ff(I,H,G,J,K[C+7],22,-45705983);J=md5_ff(J,I,H,G,K[C+8],7,1770035416);G=md5_ff(G,J,I,H,K[C+9],12,-1958414417);H=md5_ff(H,G,J,I,K[C+10],17,-42063);I=md5_ff(I,H,G,J,K[C+11],22,-1990404162);J=md5_ff(J,I,H,G,K[C+12],7,1804603682);G=md5_ff(G,J,I,H,K[C+13],12,-40341101);H=md5_ff(H,G,J,I,K[C+14],17,-1502002290);I=md5_ff(I,H,G,J,K[C+15],22,1236535329);J=md5_gg(J,I,H,G,K[C+1],5,-165796510);G=md5_gg(G,J,I,H,K[C+6],9,-1069501632);H=md5_gg(H,G,J,I,K[C+11],14,643717713);I=md5_gg(I,H,G,J,K[C+0],20,-373897302);J=md5_gg(J,I,H,G,K[C+5],5,-701558691);G=md5_gg(G,J,I,H,K[C+10],9,38016083);H=md5_gg(H,G,J,I,K[C+15],14,-660478335);I=md5_gg(I,H,G,J,K[C+4],20,-405537848);J=md5_gg(J,I,H,G,K[C+9],5,568446438);G=md5_gg(G,J,I,H,K[C+14],9,-1019803690);H=md5_gg(H,G,J,I,K[C+3],14,-187363961);I=md5_gg(I,H,G,J,K[C+8],20,1163531501);J=md5_gg(J,I,H,G,K[C+13],5,-1444681467);G=md5_gg(G,J,I,H,K[C+2],9,-51403784);H=md5_gg(H,G,J,I,K[C+7],14,1735328473);I=md5_gg(I,H,G,J,K[C+12],20,-1926607734);J=md5_hh(J,I,H,G,K[C+5],4,-378558);G=md5_hh(G,J,I,H,K[C+8],11,-2022574463);H=md5_hh(H,G,J,I,K[C+11],16,1839030562);I=md5_hh(I,H,G,J,K[C+14],23,-35309556);J=md5_hh(J,I,H,G,K[C+1],4,-1530992060);G=md5_hh(G,J,I,H,K[C+4],11,1272893353);H=md5_hh(H,G,J,I,K[C+7],16,-155497632);I=md5_hh(I,H,G,J,K[C+10],23,-1094730640);J=md5_hh(J,I,H,G,K[C+13],4,681279174);G=md5_hh(G,J,I,H,K[C+0],11,-358537222);H=md5_hh(H,G,J,I,K[C+3],16,-722521979);I=md5_hh(I,H,G,J,K[C+6],23,76029189);J=md5_hh(J,I,H,G,K[C+9],4,-640364487);G=md5_hh(G,J,I,H,K[C+12],11,-421815835);H=md5_hh(H,G,J,I,K[C+15],16,530742520);I=md5_hh(I,H,G,J,K[C+2],23,-995338651);J=md5_ii(J,I,H,G,K[C+0],6,-198630844);G=md5_ii(G,J,I,H,K[C+7],10,1126891415);H=md5_ii(H,G,J,I,K[C+14],15,-1416354905);I=md5_ii(I,H,G,J,K[C+5],21,-57434055);J=md5_ii(J,I,H,G,K[C+12],6,1700485571);G=md5_ii(G,J,I,H,K[C+3],10,-1894986606);H=md5_ii(H,G,J,I,K[C+10],15,-1051523);I=md5_ii(I,H,G,J,K[C+1],21,-2054922799);J=md5_ii(J,I,H,G,K[C+8],6,1873313359);G=md5_ii(G,J,I,H,K[C+15],10,-30611744);H=md5_ii(H,G,J,I,K[C+6],15,-1560198380);I=md5_ii(I,H,G,J,K[C+13],21,1309151649);J=md5_ii(J,I,H,G,K[C+4],6,-145523070);G=md5_ii(G,J,I,H,K[C+11],10,-1120210379);H=md5_ii(H,G,J,I,K[C+2],15,718787259);I=md5_ii(I,H,G,J,K[C+9],21,-343485551);J=safe_add(J,E);I=safe_add(I,D);H=safe_add(H,B);G=safe_add(G,A)}if(mode==16){return Array(I,H)}else{return Array(J,I,H,G)}}


有调用了其它方法:我楼下直接贴 comm.js 此js!
hejun19860620 2011-04-08
  • 打赏
  • 举报
回复
鸭梨很大!
java2730152 2011-04-08
  • 打赏
  • 举报
回复
刚学java。。感觉压力不小啊··
加载更多回复(31)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧