JAVAÉϼÓÃÜËã·¨µÄʵÏÖÓÃÀý£¨×ª£©
2001 Äê 7 ÔÂ 04 ÈÕ
ͨ³£,ʹÓõļÓÃÜËã·¨ ±È½Ï¼ò±ã¸ßЧ,ÃÜÔ¿¼ò¶Ì£¬¼Ó½âÃÜËÙ¶È¿ì£¬ÆÆÒ뼫ÆäÀ§ÄÑ¡£±¾ÎĽéÉÜÁË
MD5/SHA1£¬DSA£¬DESede/DES£¬Diffie-HellmanµÄʹÓá£
µÚ1Õ»ù´¡ÖªÊ¶
1.1. µ¥Ô¿ÃÜÂëÌåÖÆ
µ¥Ô¿ÃÜÂëÌåÖÆÊÇÒ»ÖÖ´«Í³µÄ¼ÓÃÜËã·¨£¬ÊÇÖ¸ÐÅÏ¢µÄ·¢ËÍ·½ºÍ½ÓÊÕ·½¹²Í¬Ê¹ÓÃͬһ°ÑÃÜÔ¿½øÐмӽâÃÜ¡£
ͨ³£,ʹÓõļÓÃÜËã·¨±È½Ï¼ò±ã¸ßЧ,ÃÜÔ¿¼ò¶Ì£¬¼Ó½âÃÜËÙ¶È¿ì£¬ÆÆÒ뼫ÆäÀ§ÄÑ¡£µ«ÊǼÓÃܵݲȫÐÔÒÀ¿¿ÃÜÔ¿±£¹ÜµÄ°²È«ÐÔ,ÔÚ¹«¿ªµÄ¼ÆËã»úÍøÂçÉϰ²È«µØ´«Ëͺͱ£¹ÜÃÜÔ¿ÊÇÒ»¸öÑϾþµÄÎÊÌ⣬²¢ÇÒÈç¹ûÔÚ¶àÓû§µÄÇé¿öÏÂÃÜÔ¿µÄ±£¹Ü°²È«ÐÔÒ²ÊÇÒ»¸öÎÊÌâ¡£
µ¥Ô¿ÃÜÂëÌåÖÆµÄ´ú±íÊÇÃÀ¹úµÄDES
1.2. ÏûÏ¢ÕªÒª
Ò»¸öÏûÏ¢ÕªÒª¾ÍÊÇÒ»¸öÊý¾Ý¿éµÄÊý×ÖÖ¸ÎÆ¡£¼´¶ÔÒ»¸öÈÎÒⳤ¶ÈµÄÒ»¸öÊý¾Ý¿é½øÐмÆË㣬²úÉúÒ»¸öΨһָӡ£¨¶ÔÓÚSHA1ÊDzúÉúÒ»¸ö20×ֽڵĶþ½øÖÆÊý×飩¡£
ÏûÏ¢ÕªÒªÓÐÁ½¸ö»ù±¾ÊôÐÔ£º
Á½¸ö²»Í¬µÄ±¨ÎÄÄÑÒÔÉú³ÉÏàͬµÄÕªÒª
ÄÑÒÔ¶ÔÖ¸¶¨µÄÕªÒªÉú³ÉÒ»¸ö±¨ÎÄ£¬¶øÓɸñ¨ÎÄ·´ÍÆËã³ö¸ÃÖ¸¶¨µÄÕªÒª
´ú±í£ºÃÀ¹ú¹ú¼Ò±ê×¼¼¼ÊõÑо¿ËùµÄSHA1ºÍÂéÊ¡Àí¹¤Ñ§ÔºRonald RivestÌá³öµÄMD5
1.3.
Diffie-HellmanÃÜÔ¿Ò»ÖÂÐÒé
ÃÜÔ¿Ò»ÖÂÐÒéÊÇÓɹ«¿ªÃÜÔ¿ÃÜÂëÌåÖÆµÄµì»ùÈËDiffieºÍHellmanËùÌá³öµÄÒ»ÖÖ˼Ïë¡£
ÏȾöÌõ¼þ,ÔÊÐíÁ½ÃûÓû§ÔÚ¹«¿ªÃ½ÌåÉϽ»»»ÐÅÏ¢ÒÔÉú³É"Ò»ÖÂ"µÄ,¿ÉÒÔ¹²ÏíµÄÃÜÔ¿
´ú±í£ºÖ¸ÊýÃÜÔ¿Ò»ÖÂÐÒé(Exponential Key Agreement Protocol)
1.4. ·Ç¶Ô³ÆËã·¨Ó빫ԿÌåϵ
1976Ä꣬DittieºÍHellmanΪ½â¾öÃÜÔ¿¹ÜÀíÎÊÌ⣬ÔÚËûÃǵĵì»ùÐԵŤ×÷"ÃÜÂëѧµÄз½Ïò"Ò»ÎÄÖУ¬Ìá³öÒ»ÖÖÃÜÔ¿½»»»ÐÒ飬ÔÊÐíÔÚ²»°²È«µÄýÌåÉÏͨ¹ýͨѶ˫·½½»»»ÐÅÏ¢£¬°²È«µØ´«ËÍÃØÃÜÃÜÔ¿¡£ÔÚ´ËÐÂ˼ÏëµÄ»ù´¡ÉÏ£¬ºÜ¿ì³öÏÖÁ˷ǶԳÆÃÜÔ¿ÃÜÂëÌåÖÆ£¬¼´¹«Ô¿ÃÜÂëÌåÖÆ¡£ÔÚ¹«Ô¿ÌåÖÆÖУ¬¼ÓÃÜÃÜÔ¿²»Í¬ÓÚ½âÃÜÃÜÔ¿£¬¼ÓÃÜÃÜÔ¿¹«Ö®ÓÚÖÚ£¬Ë¶¼¿ÉÒÔʹÓ㻽âÃÜÃÜÔ¿Ö»ÓнâÃÜÈË×Ô¼ºÖªµÀ¡£ËüÃÇ·Ö±ð³ÆÎª¹«¿ªÃÜÔ¿£¨Public
key£©ºÍÃØÃÜÃÜÔ¿£¨Private key£©¡£
Æù½ñΪֹµÄËùÓй«Ô¿ÃÜÂëÌåϵÖУ¬RSAϵͳÊÇ×îÖøÃû¡¢×î¶àʹÓõÄÒ»ÖÖ¡£RSA¹«¿ªÃÜÔ¿ÃÜÂëϵͳÊÇÓÉR.Rivest¡¢A.ShamirºÍL.Adleman¿¡½ÌÊÚÓÚ1977ÄêÌá³öµÄ¡£RSAµÄÈ¡Ãû¾ÍÊÇÀ´×ÔÓÚÕâÈýλ·¢Ã÷ÕßµÄÐյĵÚÒ»¸ö×Öĸ
1.5. Êý×ÖÇ©Ãû
ËùνÊý×ÖÇ©Ãû¾ÍÊÇÐÅÏ¢·¢ËÍÕßÓÃÆä˽Կ¶Ô´ÓËù´«±¨ÎÄÖÐÌáÈ¡³öµÄÌØÕ÷Êý¾Ý£¨»ò³ÆÊý×ÖÖ¸ÎÆ£©½øÐÐRSAËã·¨²Ù×÷£¬ÒÔ±£Ö¤·¢ÐÅÈËÎÞ·¨µÖÀµÔø·¢¹ý¸ÃÐÅÏ¢£¨¼´²»¿ÉµÖÀµÐÔ£©£¬Í¬Ê±Ò²È·±£ÐÅÏ¢±¨ÎÄÔھǩÃûºóÄ©±»´Û¸Ä£¨¼´ÍêÕûÐÔ£©¡£µ±ÐÅÏ¢½ÓÊÕÕßÊÕµ½±¨Îĺ󣬾Í
Ïà¹ØÎĵµ£º
Õª¡¡Òª¡¡±¾ÎĽéÉÜÒ»¸öÓÃJ++ʵÏֵĻùÓÚWeb»·¾³µÄÐͬʽ¼ÆËã»ú¸¨Öú½ÌѧÈí¼þµÄ½á¹¹£¬²¢¸ø³öÁ˾ßÌåʵÏÖÖеÄһЩ¹Ø¼ü¼¼Êõ¡£
¡¡J++£¬Web£¬Ô¶³Ì½Ìѧ£¬SocketͨÐÅ
1¡¡ÒýÑÔ
¡¡¡¡Ëæ×ÅInternetÍøÂç¼¼ÊõµÄ·¢Õ¹£¬Ô¶³Ì¶àýÌå½Ìѧ³ÉΪµ±Ç°µÄ̽¾¿Èȵ㡣»ùÓÚInternetµÄWWWÓ¦ÓÃģʽ×÷ΪһÖÖ·½±ã¡¢Ñ¸ËٵĹ²ÏíÐÅÏ¢ÊֶΣ¬ÉîÊÜÓû§»¶Ó¡£Óû§Í ......
±¾ÎÄ·ÖÊ®ËĸöÀà±ð¶ÔÕýÔò±í´ïʽµÄÒâÒå½øÐÐÁ˽âÊÍ£¬ÕâÊ®Ëĸ÷Àà±ðÊÇ£º×Ö·û/×Ö·ûÀà/Ô¤¶¨Òå×Ö·ûÀà/POSIX×Ö·ûÀà/java.lang.CharacterÀà/Unicode¿éºÍÀà±ðµÄÀà/±ß½çÆ¥ÅäÆ÷/GreedyÊýÁ¿´Ê/ReluctantÊýÁ¿´Ê/PossessiveÊýÁ¿´Ê/LogicalÔËËã·û/BackÒýÓÃ/ÒýÓÃ/ÌØÊâ¹¹Ôì¡£
1.1.×Ö·û
x ×Ö·û x¡£ÀýÈça±íʾ×Ö·ûa
\\&nbs ......
List <String> sqlFileList = new ArrayList <String>();
public List <String> readSqlFiles(List <String> fileNameList) {
List <String> sqlList = new ArrayList <String>();
for (String fi ......
abstractÐÞÊηû
1.ÓÃabstractÐÞÊεÄÀà±íʾ³éÏóÀ࣬³éÏóÀàλÓڼ̳ÐÊ÷µÄ³éÏó²ã£¬³éÏóÀ಻Äܱ»ÊµÀý»¯£¬¼´²»ÔÊÐí´´½¨
³éÏóÀà±¾ÉíµÄʵÀý¡£Ã»ÓÐÓÃabstractÐÞÊεÄÀà³ÆÎª¾ßÌåÀ࣬¾ßÌåÀàÊÇ¿ÉÒÔ±»ÊµÀý»¯µÄ¡£
2.ÓÃabstractÐÞÊεķ½·¨±íʾ³éÏó·½·¨£¬³éÏó·½·¨Ã»Óз½·¨Ìå¡£³éÏó·½·¨ÓÃÀ´±íÊöÏµÍ ......
xml »ù´¡ÖªÊ¶
1.½éÉÜ
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒ
ÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤ ......