Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÔÚjavaÖÐÀûÓÃrhinoÖ´ÐÐjavascript

ÒÔrhinoÖÐÖ´ÐÐQQÓÊÏäµÄsafeauth.jsΪÀý
js´úÂëµØÖ·£ºhttp://res.qqmail.com/zh_CN/htmledition20091127/js/safeauth.js
£¨1£©µ¼ÈëÏàÓ¦Àà
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import com.sun.phobos.script.javascript.RhinoScriptEngineFactory;
£¨2£©½âÎöJS
ScriptEngineManager engineManager = new ScriptEngineManager();
engineManager.registerEngineExtension("js", new RhinoScriptEngineFactory());
ScriptEngine engine = engineManager.getEngineByName("js");
InputStream ins = getClass().getResourceAsStream("/safeauth.js");
InputStreamReader insReader = new InputStreamReader(ins);
engine.eval(insReader);
»á±¨´í£¬ËµÕÒ²»µ½window£¬navigator¶ÔÏó
ÕâÊÇÒòΪrhinoÖ»ÌṩÁËÖ´Ðнű¾µÄÒýÇæ»·¾³£¬Ã»ÓÐÌṩÀàËÆä¯ÀÀÆ÷µÄhost»·¾³£¬ËùÒÔµ±È»ÕÒ²»µ½ÕâÁ½¸ö¶ÔÏó
½«ÏàÓ¦µÄ´øÓÐwindow,navigatorµÄÐÐ×¢Ê͵ô£¬²¢¼ÓÈëÒÔÏ´úÂ룬¹¹³ÉеÄsafeauth.jsÎļþ£º
//-- encrypt password --//
function encryptPassword(pp, PublicKey, PublicTs) {
print("pp=" + pp + "\n");
print("PublicKey=" + PublicKey + "\n");
print("PublicTs=" + PublicTs + "\n");
var RSA = new RSAKey();
RSA.setPublic(PublicKey, "10001");
var Res = RSA.encrypt(pp + '\n' + PublicTs + '\n');
if (Res){
return hex2b64(Res);
} else {
return "EncodingPasswordError";
}
}
£¨3£©Ö´ÐÐJS£º
engine.eval("var t=encryptPassword('" + pp + "','" + publicKey + "','" + publicTs + "');");
String p = engine.get("t").toString();
´«Èëpp(ÃÜÂëÓòÖµ),publicKeyºÍpublicTs£¨ÕâÁ½¸öÖµ´Óhttp://mail.qq.com/cgi-bin/loginpageÒ³ÃæÄÚÈݵõ½£©£¬¼´¿ÉÒÔ¼ÆËã±àÂëºóµÄÃÜÂë¡£


Ïà¹ØÎĵµ£º

javaÈëÃÅ

 Javaѧϰ´ÓÈëÃŵ½¾«Í¨ 
Ò»¡¢ JDK (Java Development Kit) 
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......

javaÓëc#ͨÐÅÊý¾Ýת»»ÎÊÌâ

//ÓÉÓÚJAVAÓïÑÔµÄÊý¾ÝÀàÐͶ¼ÊÇÓзûºÅÀàÐÍ£¬¶øC# C++Ò»°ãÊý¾ÝÀàÐͶ¼ÊÇ·ÖÓзûºÅºÍÎÞ·ûºÅ,
//Òò´ËÔÚͨÐŹý³ÌÖд«µÝµÄByte[]ÎÞ·¨Ö±½Óת»»³ÉC#ÐèÒªµÄÀàÐÍ£¬
//ÒÔÇ°µ¹ÊÇûעÒâÕâЩϸ½Ú£¬ÒòΪһ°ãÓÃÒ»ÖÖÓïÑÔ±à³Ì£¬
//´ó¶¼ÓÐÄÚÖõÄת»»·½·¨¡£¿çÓïÑÔ»·¾³µÄת»»¾ÍµÄ×Ô¼º¶¯ÊÖÏë°ì·¨ÁË¡£
1¡¢javaµÄByte[]ת»»³Éc#µÄInt32
private i ......

Java ³ÌÐòÄÚ´æ·ÖÎö

   java³ÌÐòÄÚ´æÖ÷Òª·ÖΪÁË2¸ö²¿·Ö£¬°üÀ¨ stack segment(Õ»ÄÚ´æ)¡¢heap segment(¶ÑÄÚ´æ)¡£
    ÔÚ·ÖÎöJava³ÌÐòÄÚ´æ·ÖÅäÇé¿öʱ£¬ÎÒÃÇ´ÓÏÂÃæÕâ¸ö¾­³£±»Ê¹ÓõÄÀý×Ó¿ªÊ¼°É¡£
    ÏÂÃæ³ÌÐò½«´òӡʲôÄØ£¿
   
Java´úÂë
String s1 = new S ......

JavaỊ̈߳º¸ÅÄîÓëÔ­Àí

 
SCJP5ѧϰ±Ê¼Ç
 
Ò»¡¢²Ù×÷ϵͳÖÐÏ̺߳ͽø³ÌµÄ¸ÅÄî
ÏÖÔڵIJÙ×÷ϵͳÊǶàÈÎÎñ²Ù×÷ϵͳ¡£¶àÏß³ÌÊÇʵÏÖ¶àÈÎÎñµÄÒ»ÖÖ·½Ê½¡£
½ø³ÌÊÇÖ¸Ò»¸öÄÚ´æÖÐÔËÐеÄÓ¦ÓóÌÐò£¬Ã¿¸ö½ø³Ì¶¼ÓÐ×Ô¼º¶ÀÁ¢µÄÒ»¿éÄÚ´æ¿Õ¼ä£¬Ò»¸ö½ø³ÌÖпÉÒÔÆô¶¯¶à¸öÏ̡߳£±ÈÈçÔÚWindowsϵͳÖУ¬Ò»¸öÔËÐеÄexe¾ÍÊÇÒ»¸ö½ø³Ì¡£
 
Ïß³ÌÊÇÖ¸½ø³ÌÖеÄÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ