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

JavaÖеÄmac¼ÆËã

          ±¨Îļø±ðÔÚÉí·ÝÈÏÖ¤ÖÐÕ¼ÖØҪλÖã¬ÊÇÈÏ֤ϵͳµÄÒ»¸öÖØÒª»·½Ú£¬ÔÚ½ðÈÚºÍÉÌҵϵͳÖй㷺ӦÓá£
          ±¨Îļø±ð³£Óñ¨Îļø±ðÂ루Message Authentication Code,¼´MAC£©×÷Ϊ¼ø±ðµÄ»ù´¡£¬
          Æä»ù±¾Ô­ÀíÊÇ£ºÓÃÒ»¸öÃÜÔ¿£¨£¨private Key£©£©Éú³ÉÒ»¸öСÊý¾Ý¿é¸½¼ÓÔÚÒª´«ÊäµÄ±¨ÎĺóÃæ¡£ÕâÖÖ¼¼ÊõÊǼٶ¨Í¨Ñ¶Ë«·½¹²ÏíÒ»¸öÃÜÔ¿K£¬µ±Í¨Ñ¶µÄÒ»·½Òª¸øÁíÒ»·½´«ÊäÊý¾ÝMʱ£¬Í¨¹ýÌض¨µÄËã·¨¼ÆËã³ö¸Ã±¨ÎÄMµÄMAC£½F£¨K£¬M£©£¬ÕâÀïµÄF¾ÍÊÇÖ¸¼ø±ðÔËË㺯Êý£¬È»ºó±¨ÎÄÊý¾ÝMºÍMACÒ»Æð´«Ë͸øÁíÒ»·½¡£µ±ÁíÒ»·½ÊÕµ½Êý¾Ýʱ£¬ÏÈÓÃͬÑùµÄËã·¨F¼ÆËãMAC£¬ºÍ´«Êä¹ýÀ´µÄMAC½øÐбȽϣ¬Èç¹ûÏàͬ£¬ÔòÈÏΪÊý¾ÝÊÇÕýÈ·µÄ¡£ ¼ø±ðº¯Êý³£±»ÈÏΪÊǼÓÃÜËã·¨µÄÒ»ÖÖ£¬µ«ÊÇÇø±ðÔÚÓÚËü²»ÓÃÓÚÄæÔËË㣬ÓÐÒ»¶¨µÄ°²È«ÐÔ¡£ ͨ³£¶ÔÓÚ²»Í¬µÄÓ¦ÓÃϵͳ²ÉÓø÷×ÔÌض¨µÄ¼ø±ðº¯Êý£¬ÕâÑùÔÚÒ»¶¨³Ì¶ÈÉϱ£Ö¤ÁËÊý¾ÝµÄ°²È«ÐÔ¡£
       ´Ój2sdk1.4ÒÔºó£¬javaÌṩÁËÀàjavax.crypto.MacÀ౨Îļø±ð
byte[] macData = "this is a mac test".getBytes(); //get a instance of Mac, using HmacMD5 algorithm
Mac mac = Mac.getInstance("HmacMD5"); //init the IV of the algorithm, 8 bytes. may read from file
byte[] ivInitKey = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07 };
IvParameterSpec spec = new IvParameterSpec(ivInitKey); // the secrete key bytes of the Mac validation, May read from file too
byte[] keyBytes = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f }; //generate the secrete Key Object using secrete bytes and DESede algorithm
SecretKey key = new SecretKeySpec(keyBytes, "DESede"); // init Mac mac.init(key, spec);
byte[] macCode = mac.doFinal(macData);
         
macCode ¾ÍÊÇÉú³ÉµÄMac£¬ÓÃͬÑùµÄÃÜÔ¿ÄܲúÉúͬÑùµÄmac¡£
ͨѶ˫·½Ö»Òª±£Ö¤ÓÃͬÑùµÄÃÜÔ¿¾ÍÄܱ£Ö¤µÃµ½Í¬ÑùµÄMac£¬´ïµ½±¨ÎÄÑéÖ¤µÄÄ¿µÄ¡£
¿´À´¿´È¥£¬ÕâºÍÍøÂçÉϳ£ÓõÄchecksumÔ­ÀíÊÇÒ»ÑùµÄ¡£


Ïà¹ØÎĵµ£º

java±ÊÊÔ

1.ʲôÊǶÔÏó£¬Ê²Ã´ÊÇÃæÏò¶ÔÏó£¬Ê²Ã´ÊÇÀࣿ
ÏÖʵÊÀ½çÖÐÈκÎʵÌ嶼¿ÉÒÔ¿´×÷ÊǶÔÏó¡£ËûÃÇÓÐÁ½ÖÖÌØÕ÷£ºËûÃǶ¼ÓµÓÐ״̬ÓëÐÐΪ¡£Èí¼þÖеĶÔÏóÓÐ×Ô¼ºµÄÊôÐÔºÍÄܹ»Ö´ÐеIJÙ×÷¡£
ËùνÃæÏò¶ÔÏó¾ÍÊÇ»ùÓÚ¶ÔÏó¸ÅÄÒÔ¶ÔÏóΪÖÐÐÄ£¬ÒÔÀàºÍ¼Ì³ÐΪ¹¹Ôì»úÖÆ£¬À´ÈÏʶ¡¢Àí½â¡¢¿Ì»­¿Í¹ÛÊÀ½çºÍÉè¼Æ¡¢¹¹½¨ÏàÓ¦µÄÈí¼þϵͳ¡£
Àà¾ÍÊǶÔÒ»¸öÊÂÎ ......

javaÉè¼Æģʽ¼ò½é£¨2£©

¼¯ºÏģʽ£º
      ×÷Ó㺴¦ÀíÓÉһЩ¶ÔÏó×é³ÉµÄ×é»òÕß¼¯ºÏ£»´¦ÀíÈçºÎ×éÖ¯ÀàºÍ¶ÔÏóÀ´Ðγɸü´ó½á¹¹µÄϸ½Ú£»¹Ø×¢Éè¼ÆÒ»¸öÎÞÈßÓàÊý¾ÝÀàµÄ×îÓÐЧ·½·¨£»ÔÊÐíÔÚÒ»×é¶ÔÏ󹹳ɵļ¯ºÏÉ϶¨Òå²Ù×÷¡£
1.       ºÏ³É£ºÔÊÐíµ¥¸ö¶ÔÏóºÏ³É¶ÔÏóÒÔÒ»ÖÖͳһµÄ·½Ê½±»·ÃÎÊ¡£»»¾ä»°Ëµ£¬ºÏ ......

JavaÏß³Ìѧϰ11.30

Thread.currentThread().getName().equals("xxxx")   ÕâÌõÓï¾ä·µ»ØÒ»¸ö bool Ð͵Ľá¹û¡£Åжϵ±Ç°ÔËÐеĽø³ÌÊÇ·ñºÍ xxxx µÄÃû×ÖÒ»Ñù¡£
¶¨ÒåÏ̵߳ÄÁ½ÖÖ·½·¨£ºclass a1 extends Thread{ }    a1 xiancheng=new a1();
¶þÊÇ£ºÓýӿڻص÷¼¼Êõ¡£ class a1 implements Runnable{ }    a1 ......

javaÈÕÆÚת»»

/**
  * ´¦Àíʱ¼äÒì³£ Date to String
  * Èç¹ûת»»³öÏÖÒì³£»á¸øĬÈÏÖµ00:00
  * @param time
  * @param sdf
  * @return
  */
 public static  String handleDateParseException(Object time){
  String tempTime = "00:00";
  try{
   ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ