LinuxÒÁµéÔ°ÂÛ̳'s Archiver

tseteen ·¢±íÓÚ 2004-4-5 20:14

MD5µÄJava BeanʵÏÖ z

×÷Õß: Ðí·½

MD5¼ò½é

MD5µÄÈ«³ÆÊÇMessage-Digest Algorithm 5£¬ÔÚ90Äê´ú³õÓÉMITµÄ¼ÆËã»ú¿ÆÑ§ÊµÑéÊÒºÍRSA Data Security Inc·¢Ã÷£¬¾­MD2¡¢MD3ºÍMD4·¢Õ¹¶øÀ´¡£

Message-Digest·ºÖ¸×Ö½Ú´®(Message)µÄHash±ä»»£¬¾ÍÊǰÑÒ»¸öÈÎÒⳤ¶ÈµÄ×Ö½Ú´®±ä»»³ÉÒ»¶¨³¤µÄ´óÕûÊý¡£Çë×¢ÒâÎÒʹÓÃÁË¡°×Ö½Ú´®¡±¶ø²»ÊÇ¡°×Ö·û´®¡±Õâ¸ö´Ê£¬ÊÇÒòΪÕâÖֱ任ֻÓë×Ö½ÚµÄÖµÓйأ¬Óë×Ö·û¼¯»ò±àÂ뷽ʽÎ޹ء£

MD5½«ÈÎÒⳤ¶ÈµÄ¡°×Ö½Ú´®¡±±ä»»³ÉÒ»¸ö128bitµÄ´óÕûÊý£¬²¢ÇÒËüÊÇÒ»¸ö²»¿ÉÄæµÄ×Ö·û´®±ä»»Ëã·¨£¬»»¾ä»°Ëµ¾ÍÊÇ£¬¼´Ê¹Äã¿´µ½Ô´³ÌÐòºÍËã·¨ÃèÊö£¬Ò²ÎÞ·¨½«Ò»¸öMD5µÄÖµ±ä»»»ØÔ­Ê¼µÄ×Ö·û´®£¬´ÓÊýѧԭÀíÉÏ˵£¬ÊÇÒòΪԭʼµÄ×Ö·û´®ÓÐÎÞÇî¶à¸ö£¬ÕâÓеãÏó²»´æÔÚ·´º¯ÊýµÄÊýѧº¯Êý¡£

MD5µÄµäÐÍÓ¦ÓÃÊǶÔÒ»¶ÎMessage(×Ö½Ú´®)²úÉúfingerprint(Ö¸ÎÆ)£¬ÒÔ·ÀÖ¹±»¡°´Û¸Ä¡±¡£¾Ù¸öÀý×Ó£¬Ä㽫һ¶Î»°Ð´ÔÚÒ»¸ö½Ðreadme.txtÎļþÖУ¬²¢¶ÔÕâ¸öreadme.txt²úÉúÒ»¸öMD5µÄÖµ²¢¼Ç¼ÔÚ°¸£¬È»ºóÄã¿ÉÒÔ´«²¥Õâ¸öÎļþ¸ø±ðÈË£¬±ðÈËÈç¹ûÐÞ¸ÄÁËÎļþÖеÄÈκÎÄÚÈÝ£¬Äã¶ÔÕâ¸öÎļþÖØÐ¼ÆËãMD5ʱ¾Í»á·¢ÏÖ¡£Èç¹ûÔÙÓÐÒ»¸öµÚÈý·½µÄÈÏÖ¤»ú¹¹£¬ÓÃMD5»¹¿ÉÒÔ·ÀÖ¹Îļþ×÷Õߵġ°µÖÀµ¡±£¬Õâ¾ÍÊÇËùνµÄÊý×ÖÇ©ÃûÓ¦Óá£

MD5»¹¹ã·ºÓÃÓÚ¼ÓÃܺͽâÃܼ¼ÊõÉÏ£¬Ôںܶà²Ù×÷ϵͳÖУ¬Óû§µÄÃÜÂëÊÇÒÔMD5Öµ£¨»òÀàËÆµÄÆäËüËã·¨£©µÄ·½Ê½±£´æµÄ£¬ Óû§LoginµÄʱºò£¬ÏµÍ³ÊǰÑÓû§ÊäÈëµÄÃÜÂë¼ÆËã³ÉMD5Öµ£¬È»ºóÔÙÈ¥ºÍϵͳÖб£´æµÄMD5Öµ½øÐбȽϣ¬¶øÏµÍ³²¢²»¡°ÖªµÀ¡±Óû§µÄÃÜÂëÊÇʲô¡£

һЩºÚ¿ÍÆÆ»ñÕâÖÖÃÜÂëµÄ·½·¨ÊÇÒ»ÖÖ±»³ÆÎª¡°ÅÜ×ֵ䡱µÄ·½·¨¡£ÓÐÁ½ÖÖ·½·¨µÃµ½×ֵ䣬һÖÖÊÇÈÕ³£ËѼ¯µÄÓÃ×öÃÜÂëµÄ×Ö·û´®±í£¬ÁíÒ»ÖÖÊÇÓÃÅÅÁÐ×éºÏ·½·¨Éú³ÉµÄ£¬ÏÈÓÃMD5³ÌÐò¼ÆËã³öÕâЩ×ÖµäÏîµÄMD5Öµ£¬È»ºóÔÙÓÃÄ¿±êµÄMD5ÖµÔÚÕâ¸ö×ÖµäÖмìË÷¡£

¼´Ê¹¼ÙÉèÃÜÂëµÄ×î´ó³¤¶ÈΪ8£¬Í¬Ê±ÃÜÂëÖ»ÄÜÊÇ×ÖĸºÍÊý×Ö£¬¹²26+26+10=62¸ö×Ö·û£¬ÅÅÁÐ×éºÏ³öµÄ×ÖµäµÄÏîÊýÔòÊÇP(62,1)+P(62,2)¡­.+P(62,8)£¬ÄÇÒ²ÒѾ­ÊÇÒ»¸öºÜÌìÎĵÄÊý×ÖÁË£¬´æ´¢Õâ¸ö×Öµä¾ÍÐèÒªTB¼¶µÄ´ÅÅÌ×飬¶øÇÒÕâÖÖ·½·¨»¹ÓÐÒ»¸öǰÌᣬ¾ÍÊÇÄÜ»ñµÃÄ¿±êÕË»§µÄÃÜÂëMD5ÖµµÄÇé¿öϲſÉÒÔ¡£

Ôںܶàµç×ÓÉÌÎñºÍÉçÇøÓ¦ÓÃÖУ¬¹ÜÀíÓû§µÄAccountÊÇÒ»ÖÖ×î³£ÓõĻù±¾¹¦ÄÜ£¬¾¡¹ÜºÜ¶àApplication ServerÌṩÁËÕâЩ»ù±¾×é¼þ£¬µ«ºÜ¶àÓ¦Óÿª·¢ÕßΪÁ˹ÜÀíµÄ¸ü´óµÄÁé»îÐÔ»¹ÊÇϲ»¶²ÉÓùØÏµÊý¾Ý¿âÀ´¹ÜÀíÓû§£¬ÀÁ¶èµÄ×ö·¨ÊÇÓû§µÄÃÜÂëÍùÍùʹÓÃÃ÷ÎÄ»ò¼òµ¥µÄ±ä»»ºóÖ±½Ó±£´æÔÚÊý¾Ý¿âÖУ¬Òò´ËÕâЩÓû§µÄÃÜÂë¶ÔÈí¼þ¿ª·¢Õß»òϵͳ¹ÜÀíÔ±À´Ëµ¿ÉÒÔ˵ºÁÎÞ±£ÃÜ¿ÉÑÔ£¬±¾ÎĵÄÄ¿µÄÊǽéÉÜMD5µÄJava BeanµÄʵÏÖ£¬Í¬Ê±¸ø³öÓÃMD5À´´¦ÀíÓû§µÄAccountÃÜÂëµÄÀý×Ó£¬ÕâÖÖ·½·¨Ê¹µÃ¹ÜÀíÔ±ºÍ³ÌÐòÉè¼ÆÕß¶¼ÎÞ·¨¿´µ½Óû§µÄÃÜÂ룬¾¡¹ÜËûÃÇ¿ÉÒÔ³õʼ»¯ËüÃÇ¡£µ«ÖØÒªµÄÒ»µãÊǶÔÓÚÓû§ÃÜÂëÉèÖÃϰ¹ßµÄ±£»¤¡£

ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔ´ÓÕâÀïÈ¡µÃMD5Ò²¾ÍÊÇRFC 1321µÄÎı¾¡£[url]http://www.ietf.org/rfc/rfc1321.txt[/url]

ʵÏÖ²ßÂÔ


MD5µÄËã·¨ÔÚRFC1321ÖÐʵ¼ÊÉÏÒѾ­ÌṩÁËCµÄʵÏÖ£¬ÎÒÃÇÆäʵÂíÉϾÍÄÜÏëµ½£¬ÖÁÉÙÓÐÁ½ÖÖÓÃJavaʵÏÖËüµÄ·½·¨£¬µÚÒ»ÖÖÊÇ£¬ÓÃJavaÓïÑÔÖØÐÂдÕû¸öËã·¨£¬»òÕßÔÙ˵¼òµ¥µã¾ÍÊǰÑC³ÌÐò¸Äд³ÉJava³ÌÐò¡£µÚ¶þÖÖÊÇ£¬ÓÃJNI(Java Native Interface)À´ÊµÏÖ£¬ºËÐÄËã·¨ÈÔÈ»ÓÃÕâ¸öC³ÌÐò£¬ÓÃJavaÀà¸øËü°ü¸ö¿Ç¡£

µ«ÎÒ¸öÈËÈÏΪ£¬JNIÓ¦¸ÃÊÇJavaΪÁ˽â¾öijÀàÎÊÌâʱµÄûÓа취µÄ°ì·¨£¨±ÈÈçÓë²Ù×÷ϵͳ»òI/OÉ豸ÃÜÇÐÏà¹ØµÄÓ¦Óã©£¬Í¬Ê±ÎªÁËÌṩºÍÆäËüÓïÑԵĻ¥²Ù×÷ÐÔµÄÒ»¸öÊֶΡ£Ê¹ÓÃJNI´øÀ´µÄ×î´óÎÊÌâÊÇÒýÈëÁËÆ½Ì¨µÄÒÀÀµÐÔ£¬´òÆÆÁËSUNËù¹Ä´µµÄ¡°Ò»´Î±àдµ½´¦ÔËÐС±µÄJavaºÃ´¦¡£Òò´Ë£¬ÎÒ¾ö¶¨²ÉÈ¡µÚÒ»ÖÖ·½·¨£¬Ò»À´ºÍ´ó¼ÒÒ»Æð³¢ÊÔһϡ°Ò»´Î±àдµ½´¦ÔËÐС±µÄºÃ´¦£¬¶þÀ´¼ìÑéÒ»ÏÂJava 2ÏÖÔÚ¶ÔÓڱȽÏÃܼ¯µÄ¼ÆËãµÄЧÂÊÎÊÌâ¡£

ʵÏÖ¹ý³Ì


ÏÞÓÚÕâÆªÎÄÕÂµÄÆª·ù£¬Í¬Ê±Ò²ÎªÁ˸ü¶àµÄ¶ÁÕßÄܹ»ÕæÕýרעÓÚÎÊÌâ±¾Éí£¬ÎÒ²»Ïë¾ÍijһÖÖJava¼¯³É¿ª·¢»·¾³À´½éÉÜÕâ¸öJava BeanµÄÖÆ×÷¹ý³Ì£¬½éÉÜÒ»¸ö·½·¨Ê±ÎÒ·¢ÏÖ²½ÖèºÍÃüÁîºÜÇåÎú£¬ÎÒÏàÐÅÓÐÈκÎÒ»ÖÖJava¼¯³É»·¾³ÈýÌìÒÔÉϾ­ÑéµÄ¶ÁÕß¶¼»áÖªµÀÈçºÎ°ÑÕâЩ´úÂëÔÚ¼¯³É»·¾³ÖбàÒëºÍÔËÐС£Óü¯³É»·¾³½²ÊöÎÊÌâÍùÍùÐèÒªÅäºÜ¶àÆÁÄ»½ØÍ¼£¬ÕâÒ²ÊÇÎÒÒ»Ö±¶Ô¼¯³É»·¾³ºÜÍ·ÌÛµÄÔ­Òò¡£ÎÒʹÓÃÁËÒ»¸öÆÕͨµÄÎı¾±à¼­Æ÷£¬Í¬Ê±Ê¹ÓÃÁËSun¹«Ë¾±ê×¼µÄJDK 1.3.0 for Windows NT¡£

Æäʵ°ÑCת»»³ÉJava¶ÔÓÚÒ»¸öÓÐÒ»¶¨CÓïÑÔ»ù´¡µÄ³ÌÐòÔ±²¢²»À§ÄÑ£¬ÕâÁ½¸öÓïÑԵĻù±¾Óï·¨¼¸ºõÍêȫһÖ£®ÎÒ´ó¸Å»¨ÁËÒ»¸öСʱµÄʱ¼äÍê³ÉÁË´úÂëµÄת»»¹¤×÷£¬ÎÒÖ÷Òª×÷ÁËÏÂÃæ¼¸¼þÊ£º

°Ñ±ØÐëʹÓõÄһЩ#defineµÄºê¶¨Òå±ä³ÉClassÖеÄfinal static£¬ÕâÑù±£Ö¤ÔÚÒ»¸ö½ø³Ì¿Õ¼äÖеĶà¸öInstance¹²ÏíÕâЩÊý¾Ý
ɾȥÁËһЩÎÞÓõÄ#if define£¬ÒòΪÎÒÖ»¹ØÐÄMD5£¬Õâ¸öÍÆ¼öµÄCʵÏÖͬʱʵÏÖÁËMD2 MD3ºÍ MD4£¬¶øÇÒÓÐЩ#if define»¹ºÍC²»Í¬±àÒëÆ÷ÓйØ
½«Ò»Ð©¼ÆËãºêת»»³Éfinal static ³ÉÔ±º¯Êý¡£
ËùÓеıäÁ¿ÃüÃûÓëÔ­À´CʵÏÖÖб£³ÖÒ»Ö£¬ÔÚ´óСдÉÏ×÷һЩ·ûºÏJavaϰ¹ßµÄ±ä»¯£¬¼ÆËã¹ý³ÌÖеÄCº¯Êý±ä³ÉÁËprivate·½·¨(³ÉÔ±º¯Êý)¡£
¹Ø¼ü±äÁ¿µÄ볤µ÷Õû
¶¨ÒåÁËÀàºÍ·½·¨
ÐèҪעÒâµÄÊÇ£¬ºÜ¶àÔçÆÚµÄC±àÒëÆ÷µÄintÀàÐÍÊÇ16 bitµÄ£¬MD5ʹÓÃÁËunsigned long int£¬²¢ÈÏΪËüÊÇ32bitµÄÎÞ·ûºÅÕûÊý¡£¶øÔÚJavaÖÐintÊÇ32 bitµÄ£¬longÊÇ64 bitµÄ¡£ÔÚMD5µÄCʵÏÖÖУ¬Ê¹ÓÃÁË´óÁ¿µÄλ²Ù×÷¡£ÕâÀïÐèÒªÖ¸³öµÄÒ»µãÊÇ£¬¾¡¹ÜJavaÌṩÁËλ²Ù×÷£¬ÓÉÓÚJavaûÓÐunsignedÀàÐÍ£¬¶ÔÓÚÓÒÒÆÎ»²Ù×÷¶àÌṩÁËÒ»¸öÎÞ·ûºÅÓÒÒÆ£º>>>£¬µÈ¼ÛÓÚCÖÐµÄ >> ¶ÔÓÚunsigned ÊýµÄ´¦Àí¡£

ÒòΪJava²»ÌṩÎÞ·ûºÅÊýµÄÔËË㣬Á½¸ö´óintÊýÏà¼Ó¾Í»áÒç³öµÃµ½Ò»¸ö¸ºÊý»òÒì³££¬Òò´ËÎÒ½«Ò»Ð©¹Ø¼ü±äÁ¿ÔÚJavaÖиijÉÁËlongÀàÐÍ(64bit)¡£ÎÒ¸öÈËÈÏΪÕâ±È×Ô¼ºÈ¥ÖØÐ¶¨ÒåÒ»×éÎÞ·ûºÅÊýµÄÀàÍ¬Ê±ÖØÔØÄÇЩÔËËã·ûÒª·½±ã£¬Í¬Ê±Ð§ÂʸߺܶಢÇÒ´úÂëÒ²Ò×¶Á£¬OO(Object Oriented)µÄÀÄÓ÷´¶ø»áµ¼ÖÂЧÂʵÍÏ¡£

ÏÞÓÚÆª·ù£¬ÕâÀï²»ÔÙ¸ø³öԭʼµÄC´úÂ룬ÓÐÐËȤ¶ÔÕյĶÁÕßÅóÓÑ¿ÉÒÔÈ¥¿´RFC 1321¡£MD5.javaÔ´´úÂë

²âÊÔ


ÔÚRFC 1321ÖУ¬¸ø³öÁËTest suiteÓÃÀ´¼ìÑéÄãµÄʵÏÖÊÇ·ñÕýÈ·£º

MD5 ("") = d41d8cd98f00b204e9800998ecf8427e

MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661

MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72

MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0

MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b

¡­¡­
ÕâЩÊä³ö½á¹ûµÄº¬ÒåÊÇÖ¸£º¿Õ×Ö·û´®¡±¡±µÄMD5ÖµÊÇd41d8cd98f00b204e9800998ecf8427e£¬×Ö·û´®¡±a¡±µÄMD5ÖµÊÇ0cc175b9c0f1b6a831c399e269772661¡­¡­
±àÒë²¢ÔËÐÐÎÒÃǵijÌÐò£º
javac ?d . MD5.java
java beartool.MD5
ΪÁ˽«À´²»Óë±ðÈ˵ÄͬÃû³ÌÐò³åÍ»£¬ÎÒÔÚÎҵijÌÐòµÄµÚÒ»ÐÐʹÓÃÁËpackage beartool;

Òò´Ë±àÒëÃüÁîjavac ?d . MD5.java ÃüÁîÔÚÎÒÃǵŤ×÷Ŀ¼ÏÂ×Ô¶¯½¨Á¢ÁËÒ»¸öbeartoolĿ¼£¬Ä¿Â¼Ï·Å×űàÒë³É¹¦µÄ MD5.class

ÎÒÃǽ«µÃµ½ºÍTest suiteͬÑùµÄ½á¹û¡£µ±È»»¹¿ÉÒÔ¼ÌÐø²âÊÔÄã¸ÐÐËȤµÄÆäËüMD5±ä»»£¬ÀýÈ磺

java beartool.MD5¡¡1234

½«¸ø³ö1234µÄMD5Öµ¡£

¿ÉÄÜÊÇÎҵļÆËã»ú֪ʶÊÇ´ÓApple IIºÍZ80µ¥°å»ú¿ªÊ¼µÄ£¬ÎÒ¶Ô´óдʮÁù½øÖÆ´úÂëÓÐÆ«ºÃ£¬Èç¹ûÄúÏëʹÓÃСдµÄDigest StringÖ»ÐèÒª°ÑbyteHEXº¯ÊýÖеÄA¡¢B¡¢C¡¢D¡¢E¡¢F¸Ä³Éa¡¢b¡¢ c¡¢d¡¢e¡¢f¾Í¿ÉÒÔÁË¡£

MD5¾Ý³ÆÊÇÒ»ÖֱȽϺÄʱµÄ¼ÆË㣬ÎÒÃǵÄJava°æMD5Ò»ÉÁ¾ÍËã³öÀ´ÁË£¬Ã»Óöµ½Ê²Ã´Õϰ­£¬¶øÇÒÓÃÈâÑ۸оõ²»³öÀ´Java°æµÄMD5±ÈC°æµÄÂý¡£

ΪÁ˲âÊÔËüµÄ¼æÈÝÐÔ£¬ÎÒ°ÑÕâ¸öMD5.classÎļþ¿½±´µ½ÎÒµÄÁíһ̨Linux+IBM JDK 1.3µÄ»úÆ÷ÉÏ£¬Ö´ÐкóµÃµ½Í¬Ñù½á¹û£¬È·ÊµÊÇ¡°Ò»´Î±àдµ½´¦ÔËÐÐÁË¡±¡£

Java Bean¼òÊö


ÏÖÔÚ£¬ÎÒÃÇÒѾ­Íê³É²¢¼òµ¥²âÊÔÁËÕâ¸öJava Class£¬ÎÒÃÇÎÄÕµıêÌâÊÇ×öÒ»¸öJava Bean¡£

ÆäʵÆÕͨµÄJava BeanºÜ¼òµ¥£¬²¢²»ÊÇʲôȫеĻòΰ´óµÄ¸ÅÄ¾ÍÊÇÒ»¸öJavaµÄClass£¬¾¡¹Ü Sun¹æ¶¨ÁËһЩÐèҪʵÏֵķ½·¨£¬µ«²¢²»ÊÇÇ¿ÖÆµÄ¡£¶øEJB(Enterprise Java Bean)Î޷ǹ涨ÁËһЩ±ØÐëʵÏÖ£¨·Ç³£ÀàËÆÓÚÏìӦʼþ£©µÄ·½·¨£¬ÕâЩ·½·¨Êǹ©EJB ContainerʹÓÃ(µ÷ÓÃ)µÄ¡£

ÔÚÒ»¸öJava Application»òAppletÀïʹÓÃÕâ¸öbean·Ç³£¼òµ¥£¬×î¼òµ¥µÄ·½·¨ÊÇÄãҪʹÓÃÕâ¸öÀàµÄÔ´Â빤×÷Ŀ¼Ï½¨Ò»¸öbeartoolĿ¼£¬°ÑÕâ¸öclassÎļþ¿½±´½øÈ¥£¬È»ºóÔÚÄãµÄ³ÌÐòÖÐimport beartool.MD5¾Í¿ÉÒÔÁË¡£×îºó´ò°ü³É.jar»ò.warÊDZ£³ÖÕâ¸öÏà¶ÔµÄĿ¼¹ØÏµ¾ÍÐÐÁË¡£

Java»¹ÓÐÒ»¸öССµÄºÃ´¦ÊÇÄã²¢²»ÐèÒªÕª³ýÎÒÃǵÄMD5ÀàÖÐÄǸömain·½·¨£¬ËüÒѾ­ÊÇÒ»¸ö¿ÉÒÔ¹¤×÷µÄJava BeanÁË¡£JavaÓÐÒ»¸ö·Ç³£´óµÄÓŵãÊÇËýÔÊÐíºÜ·½±ãµØÈöàÖÖÔËÐÐÐÎʽÔÚͬһ×é´úÂëÖй²´æ£¬±ÈÈ磬Äã¿ÉÒÔдһ¸öÀ࣬Ëü¼´ÊÇÒ»¸ö¿ØÖÆÌ¨ApplicationºÍGUI Application£¬Í¬Ê±ÓÖÊÇÒ»¸öApplet£¬Í¬Ê±»¹ÊÇÒ»¸öJava Bean£¬Õâ¶ÔÓÚ²âÊÔ¡¢Î¬»¤ºÍ·¢²¼³ÌÐòÌṩÁ˼«´óµÄ·½±ã£¬ÕâÀïµÄ²âÊÔ·½·¨main»¹¿ÉÒԷŵ½Ò»¸öÄÚ²¿ÀàÖУ¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒԲο¼£º[url]http://www.cn.ibm.com/developerWorks/java/jw-tips/tip106/index.shtml[/url]

ÕâÀï½²ÊöÁ˰ѲâÊÔºÍʾÀý´úÂë·ÅÔÚÒ»¸öÄÚ²¿¾²Ì¬ÀàµÄºÃ´¦£¬ÊÇÒ»ÖÖ²»´íµÄ¹¤³Ì»¯¼¼ÇɺÍ;¾¶¡£

°ÑJava Bean×°µ½JSPÀï


ÕýÈçÎÒÃÇÔÚ±¾ÎÄ¿ªÍ·½²ÊöµÄÄÇÑù£¬ÎÒÃǶÔÕâ¸öMD5 BeanµÄÓ¦ÓÃÊÇ»ùÓÚÒ»¸öÓû§¹ÜÀí£¬ÕâÀïÎÒÃǼÙÉèÁËÒ»¸öÐéÄâÉçÇøµÄÓû§login¹ý³Ì£¬Óû§µÄÐÅÏ¢±£´æÔÚÊý¾Ý¿âµÄ¸öÃûΪusersµÄ±íÖС£Õâ¸ö±íÓÐÁ½¸ö×ֶκÍÎÒÃǵÄÕâ¸öÀý×ÓÓйأ¬userid :char(20)ºÍpwdmd5 :char(32)£¬useridÊÇÕâ¸ö±íµÄPrimary Key£¬pwdmd5±£´æÃÜÂëµÄMD5´®£¬MD5ÖµÊÇÒ»¸ö128bitµÄ´óÕûÊý£¬±íʾ³É16½øÖƵÄASCIIÐèÒª32¸ö×Ö·û¡£

ÕâÀï¸ø³öÁ½¸öÎļþ£¬login.htmlÊÇÓÃÀ´½ÓÊÜÓû§ÊäÈëµÄform£¬login.jspÓÃÀ´Ä£ÄâʹÓÃMD5 BeanµÄlogin¹ý³Ì¡£

ΪÁËʹÎÒÃǵIJâÊÔ»·¾³¼òµ¥Æð¼û£¬ÎÒÃÇÔÚJSPÖÐʹÓÃÁËJDKÄÚÖõÄJDBC-ODBC Bridge Driver£¬communityÊÇODBCµÄDSNµÄÃû×Ö£¬Èç¹ûÄãʹÓÃÆäËüµÄJDBC Driver£¬Ìæ»»µôlogin.jspÖеÄ
Connection con= DriverManager.getConnection("jdbcdbc:community", "", "");
¼´¿É¡£

login.jspµÄ¹¤×÷Ô­ÀíºÜ¼òµ¥£¬Í¨¹ýpost½ÓÊÕÓû§ÊäÈëµÄUserIDºÍPassword£¬È»ºó½«Password±ä»»³ÉMD5´®£¬È»ºóÔÚusers±íÖÐѰÕÒUserIDºÍpwdmd5£¬ÒòΪUserIDÊÇusers±íµÄPrimary Key£¬Èç¹û±ä»»ºóµÄpwdmd5Óë±íÖеļǼ²»·û£¬ÄÇôSQL²éѯ»áµÃµ½Ò»¸ö¿ÕµÄ½á¹û¼¯¡£

ÕâÀïÐèÒª¼òµ¥½éÉܵÄÊÇ£¬Ê¹ÓÃÕâ¸öBeanÖ»ÐèÒªÔÚÄãµÄJSPÓ¦ÓóÌÐòµÄWEB-INF/classesϽ¨Á¢Ò»¸öbeartoolĿ¼£¬È»ºó½«MD5.class¿½±´µ½ÄǸöĿ¼Ï¾ͿÉÒÔÁË¡£Èç¹ûÄãʹÓÃһЩ¼¯³É¿ª·¢»·¾³£¬Çë²Î¿¼ËüÃǵÄdeploy¹¤¾ßµÄ˵Ã÷¡£ÔÚJSPʹÓÃÒ»¸öjava Bean¹Ø¼üµÄÒ»¾äÉùÃ÷ÊdzÌÐòÖеĵÚ2ÐУº

<jsp:useBean id='oMD5' scope='request' class='beartool.MD5'/>
ÕâÊÇËùÓÐJSP¹æ·¶ÒªÇóJSPÈÝÆ÷¿ª·¢Õß±ØÐëÌṩµÄ±ê×¼Tag¡£

id=ʵ¼ÊÉÏÊÇָʾJSP Container´´½¨BeanµÄʵÀýʱÓõÄʵÀý±äÁ¿Ãû¡£ÔÚºóÃæµÄ<%ºÍ%>Ö®¼äµÄJava³ÌÐòÖУ¬Äã¿ÉÒÔÒýÓÃËü¡£ÔÚ³ÌÐòÖпÉÒÔ¿´µ½£¬Í¨¹ýpwdmd5=oMD5.getMD5ofStr (password)ÒýÓÃÁËÎÒÃǵÄMD5 Java BeanÌṩµÄΨһһ¸ö¹«¹²·½·¨: getMD5ofStr¡£

Java Application ServerÖ´ÐÐ.JSPµÄ¹ý³ÌÊÇÏȰÑËüÔ¤±àÒë³É.java£¨ÄÇЩTagÔÚÔ¤±àÒëʱ»á³ÉΪjavaÓï¾ä£©£¬È»ºóÔÙ±àÒë³É.class¡£ÕâЩ¶¼ÊÇϵͳ×Ô¶¯Íê³ÉºÍά»¤µÄ£¬ÄǸö.classÒ²³ÆÎªServlet¡£µ±È»£¬Èç¹ûÄãÔ¸Ò⣬ÄãÒ²¿ÉÒÔ°ïÖúJava Application ServerÈ¥¸É±¾¸ÃËü¸ÉµÄÊÂÇ飬×Ô¼ºÖ±½ÓȥдServlet£¬µ«ÓÃServletÈ¥Êä³öHTMLÄǼòÖ±Êǻص½ÁËÓÃCдCGI³ÌÐòµÄ¶ñÃÎʱ´ú¡£

Èç¹ûÄãµÄÊä³öÊÇÒ»¸ö¸´Ôӵıí¸ñ£¬±È½Ï·½±ãµÄ·½·¨ÎÒÏ뻹ÊÇÓÃÒ»¸öÄãËùÊìϤµÄHTML±à¼­Æ÷±àдһ¸ö¡°Ä£°å¡±£¬È»ºóÔÚ°ÑJSP´úÂ롰ǶÈ롱½øÈ¥¡£¾¡¹ÜÕâÖÖJSP´úÂë±»ÓÐЩר¼ÒÖ¸ÔðΪ¡°¿ÕÐÄ·Û¡±£¬ËüµÄÈ·ÓиöȱµãÊÇ´úÂë±È½ÏÄѹÜÀíºÍÖØ¸´Ê¹Ó㬵«ÊdzÌÐòÉè¼ÆÓÀÔ¶ÐèÒªµÄ¾ÍÊÇÕâÑùµÄȨºâ¡£ÎÒ¸öÈËÈÏΪ£¬¶ÔÓÚÖС¢Ð¡ÐÍÏîÄ¿£¬±È½ÏÀíÏëµÄ½á¹¹ÊǰÑÊý¾Ý±íʾ£¨»ò²»ÑϸñµØ³Æ×÷WEB½çÃæÏà¹Ø£©µÄ²¿·ÖÓÃJSPд£¬ºÍ½çÃæ²»Ïà¹ØµÄ·ÅÔÚBeanÀïÃæ£¬Ò»°ãÇé¿öÏÂÊDz»ÐèÒªÖ±½ÓдServletµÄ¡£

Èç¹ûÄã¾õµÃÕâÖÖ·½·¨²»ÊǷdz£µÄOO(Object Oriented)£¬Äã¿ÉÒԼ̳У¨extends£©ËüÒ»°Ñ£¬ÔÙдһ¸öbean°ÑÓû§¹ÜÀíµÄ¹¦Äܰü½øÈ¥¡£

µ½µ×Äܲ»ÄܼæÈÝ£¿


ÎÒ²âÊÔÁËÈýÖÖJavaÓ¦Ó÷þÎñÆ÷»·¾³£¬Resin 1.2.3¡¢Sun J2EE 1.2¡¢IBM WebSphere 3.5£¬ËùÐÒµÄÊÇÕâ¸öJava Bean¶¼Ã»ÓÐÈκÎÎÊÌ⣬ԭÒòÆäʵÊÇÒòΪËü½ö½öÊǸö¼ÆËã³ÌÐò£¬²»Éæ¼°²Ù×÷ϵͳ£¬I/OÉ豸¡£ÆäʵÓÃÆäËüÓïÑÔÒ²Äܼòµ¥µØÊµÏÖËüµÄ¼æÈÝÐԵģ¬JavaµÄΨһÓŵãÊÇ£¬ÄãÖ»ÐèÌṩһ¸öÐÎ̬µÄÔËÐÐÂë¾Í¿ÉÒÔÁË¡£Çë×¢Òâ¡°ÐÎ̬¡±¶þ×Ö£¬ÏÖÔÚºÜ¶à¼ÆËã½á¹¹ºÍ²Ù×÷ϵͳ³ýÁËÓïÑÔ±¾ÉíÖ®Íâ¶¼¶¨ÒåÁË´óÁ¿µÄ´úÂëÐÎ̬£¬ºÜ¼òµ¥µÄÒ»¶ÎCÓïÑÔºËÐÄ´úÂ룬ת»»³É²»Í¬ÐÎ̬Ҫ¿¼ÂǺܶàÎÊÌ⣬ʹÓúܶ๤¾ß£¬Í¬Ê±ÊܺܶàÏÞÖÆ£¬ÓÐʱºòѧϰһÖÖеġ°ÐÎ̬¡±Ëù»¨·ÑµÄ¾«Á¦¿ÉÄܱȽâ¾öÎÊÌâ±¾Éí»¹¶à¡£±ÈÈç¹âWindows¾ÍÓÐEXE¡¢Service¡¢µÄÆÕͨDLL¡¢COM DLLÒÔǰ»¹ÓÐOCXµÈµÈµÈµÈ£¬ÔÚUnixÉÏËä˵Ҫ¼òµ¥Ò»Ð©£¬µ«ÒªÒ²ÒªÌṩһ¸ö.h¶¨ÒåÒ»´ó¶Ñºê£¬»¹Òª¿¼ÂDz»Í¬Æ½Ì¨±àÒëÆ÷°æ±¾µÄ볤¶ÈÎÊÌâ¡£ÎÒÏëÕâÊÇJava¶ÔÎÒÀ´ËµµÄÒ»¸ö·Ç³£ÖØÒªµÄ÷ÈÁ¦°É¡£

²Î¿¼×ÊÁÏ

IETF RFC 1321  [url]http://www.ietf.org/rfc/rfc1321.txt[/url]
ÕâÊǹØÓÚMD5×îԭʼºÍȨÍþµÄÎĵµ£¬Í¬Ê±°üº¬ÁËÍêÕûµÄCÓïÑÔʵÏÖ¡£Õâ·ÝÎĵµÊÇ1992ÄêÌá½»µÄ£¬ËüµÄC³ÌÐò»¹²»ÊÇANSI±ê×¼Óï·¨µÄ£¬ÓÐЩÀÏUnixµÄÇ×ÇиС£ÔÚWindowsϱàÒëÕâ¸öC³ÌÐòҪСС¸Ä¶¯Ò»Ï¡£

J2EE½Ì³Ì [url]http://java.sun.com/j2ee/tutorial/doc/information/resources.html[/url]
SUNµÄJ2EE½Ì³Ì±àµÃºÜ²»´í£¬ÑÔ¼òÒâêà£¬ÎªÈ«ÃæÁ˽âJava BeanºÍJSP±³ºóµÄÌåϵ½á¹¹ÌṩÁËÒ»¸ö²»´íµÄÆðµã»òË÷Òý¡£

Bruce Eckel¡¶Think in Java 2nd Edition¡·
ÕâÒ²ÊÇDeveloper WorksÍÆ¼öÏÂÔØµÄÒ»±¾²»´íµÄJava½Ì¿ÆÊ飬ÎÒ¸öÈËÈÏΪÕâ±¾ÊéÊÇд¸øÖÁÉÙÓÐÒ»ÖÖ³ÌÐòÉè¼ÆÓïÑÔ¾­ÑéµÄ³ÌÐòÔ±µÄ¡£

×÷Õß¼ò½é

×÷Õß±¾ÈËÓÚ1991Äê±ÏÒµÓÚÎ人²â»æ¿Æ¼¼´óѧ¼ÆËã»ú¿ÆÑ§Ó빤³Ìϵ£¬±ÏÒµºó±»·ÖÅäµ½Öйú¼ÆËã»úÈí¼þÓë¼¼Êõ·þÎñ×ܹ«Ë¾£¬´Óʹú²úUnixϵͳ¿ª·¢ºÍ½ðÈÚϵͳӦÓã¬ÈýÄêºó´ÇÖ°´´Òµ£¬µ«ÖÁ½ñδ³É´óÆ÷¡£×ÔÖÐѧʱ´ú¿ªÊ¼½Ó´¥Apple II£¬¾­ÀúÁËÖйúÈí¼þÒµµ½Ä¿Ç°ÎªÖ¹µÄÍêÕû·¢Õ¹Àú³Ì£¬ÔÚÊ®¶àÄêµÄÈí¼þ¹¤×÷ÉúÑÄÖУ¬Ö÷Òª´ÓÊÂÒøÐС¢ÁãÊÛҵϵͳµÄ¿ª·¢¡¢Ìåϵ¼Ü¹¹Éè¼ÆºÍÏîÄ¿¹ÜÀí£¬Ôø¾­³É¹¦µØÖ÷µ¼¿ª·¢ºÍʵʩ¹ý¶à¸ö´óÖÐÐÍPOSϵͳÏîÄ¿¡¢ÒøÐÐÒµÎñϵͳºÍÆóÒµMISϵͳ£¬ÏÖΪ×ÔÓÉÖ°ÒµÕߣ¬Ö÷ҪΪÈô¸É¹Ì¶¨¿Í»§´ÓÊÂÈí¼þÏîÄ¿µÄ¼¼Êõ×Éѯ¹¤×÷£¬Í¬Ê±×÷Ϊ×ÔÓÉ׫¸åÈËÎªÒ»Ð©ÍøÕ¾ºÍµç×ÓýÌå½éÉÜһЩÐÂµÄÆóÒµ¼ÆËã¼¼Êõ¡£´ËÍ⣬×Ô¼º½¨Á¢ÁËÒ»¸öСÐ͵ĸöÈËм¼ÊõʵÑéÊÒ£¬ÓÐÈô¸Ę́װÓв»Í¬Æ½Ì¨µÄµçÄÔ²¢ÇÒÁ¬³ÉÒ»¸öСÐ͵ÄIntranet¡£×î´óµÄ°®ºÃ¾ÍÊDz»¶ÏµØÈ¥ÅªÃ÷°×²ã³ö²»ÇîµÄÈí¼þ¼¼ÊõºÍ¸ÅÄî¡£

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.