ÔÚ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 NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
×î½ü¼¸Ìì,Ò»Ö±ÔÚÑо¿flex,˵¾äʵÔÚµÄ,ÆäÖеĿàÄÕ²»ÊÇÒ»¾ä»°Á½¾ä»°ÄÜ˵Çå³þµÄ.ûÓнӴ¥¹ý°¡!²»¹ýÏÖÔÚ×ÜËãÊǰÑÊý¾Ý¿âÁ¬ÉÏÁË,×ö³öÁË×Ô¼ºÏëÒªµÄ¶«Î÷.·Ï»°ÉÙ˵,ÏÖÔÚÄØ,ÎҾͰÑÎÒ×öµÄ´úÂëÌù³öÀ´,¸ø´ó¼Ò¿´¿´,¶àÌᱦ¹óÒâ¼û.
ÎÒÓõÄÊÇjdbcµÄÁ¬½Ó·½Ê½(hibernateµÄÁ¬½Ó·½Ê½ÎÒ¿´ÍøÉÏÓÐ,ËùÒԾͲ»Ìù³öÀ´ÁË)
1.flex´úÂë
<?xml version ......
ÔÚÒ»¸öÃæÏò¶ÔÏóµÄϵͳÖУ¬ÏµÍ³µÄ¸÷ÖÖ¹¦ÄÜÊÇÓÉÐíÐí¶à¶àµÄ²»Í¬¶ÔÏóÐ×÷Íê³ÉµÄ¡£ÔÚÕâÖÖÇé¿öÏ£¬¸÷¸ö¶ÔÏóÄÚ²¿ÊÇÈçºÎʵÏÖ×Ô¼ºµÄ¶ÔϵͳÉè¼ÆÈËÔ±À´½²¾Í²»ÄÇÃ´ÖØÒª
ÁË£»¶ø¸÷¸ö¶ÔÏóÖ®¼äµÄÐ×÷¹ØÏµÔò³ÉΪϵͳÉè¼ÆµÄ¹Ø¼ü¡£Ð¡µ½²»Í¬ÀàÖ®¼äµÄͨÐÅ£¬´óµ½¸÷Ä£¿éÖ®¼äµÄ½»»¥£¬ÔÚϵͳÉè¼ÆÖ®³õ¶¼ÊÇÒª×ÅÖØ¿¼Âǵģ¬ÕâÒ²ÊÇϵͳÉè¼ÆµÄÖ÷
Òª ......
SCJP5ѧϰ±Ê¼Ç
Ò»¡¢²Ù×÷ϵͳÖÐÏ̺߳ͽø³ÌµÄ¸ÅÄî
ÏÖÔڵIJÙ×÷ϵͳÊǶàÈÎÎñ²Ù×÷ϵͳ¡£¶àÏß³ÌÊÇʵÏÖ¶àÈÎÎñµÄÒ»ÖÖ·½Ê½¡£
½ø³ÌÊÇÖ¸Ò»¸öÄÚ´æÖÐÔËÐеÄÓ¦ÓóÌÐò£¬Ã¿¸ö½ø³Ì¶¼ÓÐ×Ô¼º¶ÀÁ¢µÄÒ»¿éÄÚ´æ¿Õ¼ä£¬Ò»¸ö½ø³ÌÖпÉÒÔÆô¶¯¶à¸öÏ̡߳£±ÈÈçÔÚWindowsϵͳÖУ¬Ò»¸öÔËÐеÄexe¾ÍÊÇÒ»¸ö½ø³Ì¡£
Ïß³ÌÊÇÖ¸½ø³ÌÖеÄÒ ......
SCJP5ѧϰ±Ê¼Ç
ÒªÀí½âÏ̵߳÷¶ÈµÄÔÀí£¬ÒÔ¼°Ïß³ÌÖ´Ðйý³Ì£¬±ØÐëÀí½âÏß³ÌջģÐÍ¡£
Ïß³ÌÕ»ÊÇָijʱ¿ÌʱÄÚ´æÖÐÏ̵߳÷¶ÈµÄÕ»ÐÅÏ¢£¬µ±Ç°µ÷Óõķ½·¨×ÜÊÇλÓÚÕ»¶¥¡£Ïß³ÌÕ»µÄÄÚÈÝÊÇËæ×ųÌÐòµÄÔËÐж¯Ì¬±ä»¯µÄ£¬Òò´ËÑо¿Ïß³ÌÕ»±ØÐëÑ¡ÔñÒ»¸öÔËÐеÄʱ¿Ì£¨Êµ¼ÊÉÏÖ¸´úÂëÔËÐе½Ê²Ã´µØ·½)¡£
ÏÂÃæÍ¨¹ýÒ»¸öʾÀýÐ﵀ ......