Java¼ÓÃܼ¼Êõ£¨Æß£©£¨1£© ¶¹¶¹Íø
¶¹¶¹Íø ¼¼ÊõÓ¦ÓÃÆµµÀ 2009Äê06ÔÂ10ÈÕ ¡¾×ֺţºÐ¡ÖÐ´ó¡¿ Êղر¾ÎÄ
JProfiler memcached JavaCC EclEmma Jester Java¼ÓÃܼ¼Êõ£¨Æß£©¡£
¡¡¡¡ECC
¡¡¡¡ECC-Elliptic Curves Cryptography£¬ÍÖÔ²ÇúÏßÃÜÂë±àÂëѧ£¬ÊÇĿǰÒÑÖªµÄ¹«Ô¿ÌåÖÆÖУ¬¶Ôÿ±ÈÌØËùÌṩ¼ÓÃÜÇ¿¶È×î¸ßµÄÒ»ÖÖÌåÖÆ¡£ÔÚÈí¼þ×¢²á±£»¤·½ÃæÆðµ½ºÜ´óµÄ×÷Óã¬Ò»°ãµÄÐòÁкÅͨ³£ÓɸÃËã·¨²úÉú¡£
¡¡¡¡ µ±ÎÒ¿ªÊ¼ÕûÀí¡¶Java¼ÓÃܼ¼Êõ£¨¶þ£©¡·µÄʱºò,sentinel hasp£¬ÎÒ¾ÍÒѾÔÚ¿ªÊ¼Ñо¿ECCÁË£¬µ«ÊǹØÓÚJavaʵÏÖECCËã·¨µÄ×ÊÁÏʵÔÚÊÇÌ«ÉÙÁË£¬ÎÞÂÛÊǹúÄÚ»¹ÊǹúÍâµÄ×ÊÁÏ£¬ÎÞÂÛÊǹٷ½»¹ÊǷǹٷ½µÄ½âÊÍ£¬×îÖÕÖ»ÓÐÒ»ÖÖ´ð°¸——ECCËã·¨ÔÚjdk1.5ºó¼ÓÈëÖ§³Ö£¬Ä¿Ç°½ö½öÖ»ÄÜÍê³ÉÃÜÔ¿µÄÉú³ÉÓë½âÎö¡£¡¡
¡¡¡¡ ¾¡¹ÜÈç´Ë£¬ÎÒÕÕ¾ÉÌṩÏàÓ¦µÄJavaʵÏÖ´úÂ룬ÒÔ¹©´ó¼Ò²Î¿¼¡£
¡¡¡¡Í¨¹ýjava´úÂëʵÏÖÈçÏ£ºCoderÀà¼û Java¼ÓÃܼ¼Êõ£¨Ò»£©
¡¡¡¡Java´úÂë
import¡¡java.math.BigInteger; ¡¡¡¡
import¡¡java.security.Key; ¡¡¡¡
import¡¡java.security.KeyFactory; ¡¡¡¡
import¡¡java.security.interfaces.ECPrivateKey; ¡¡¡¡
import¡¡java.security.interfaces.ECPublicKey; ¡¡¡¡
import¡¡java.security.spec.ECFieldF2m; ¡¡¡¡
import¡¡java.security.spec.ECParameterSpec; ¡¡¡¡
import¡¡java.security.spec.ECPoint; ¡¡¡¡
import¡¡java.security.spec.ECPrivateKeySpec; ¡¡¡¡
import¡¡java.security.spec.ECPublicKeySpec; ¡¡¡¡
import¡¡java.security.spec.EllipticCurve; ¡¡¡¡
import¡¡java.security.spec.PKCS8EncodedKeySpec; ¡¡¡¡
import¡¡java.security.spec.X509EncodedKeySpec; ¡¡¡¡
import¡¡java.util.HashMap; ¡¡¡¡
import¡¡java.util.Map; ¡¡¡¡
¡¡¡¡
import¡¡javax.crypto.Cipher; ¡¡¡¡
import¡¡javax.crypto.NullCipher; ¡¡¡¡
¡¡¡¡
import¡¡sun.security.ec.ECKeyFactory; ¡¡¡¡
import¡¡sun.security.ec.ECPrivateKeyImpl; ¡¡¡¡
import¡¡sun.security.ec.ECPublicKeyImpl; ¡¡¡¡
¡¡¡¡
/** ¡¡
¡¡*¡¡ECC°²È«±àÂë×é¼þ ¡¡
¡¡*¡¡ ¡¡
¡¡*¡¡@author¡¡Áº¶° ¡¡
¡¡*¡¡@version¡¡1.0 ¡¡
¡¡*¡¡@since¡¡1.0 ¡¡
¡¡*/¡¡¡¡
public¡¡abstract¡¡class¡¡ECCCoder¡¡extends¡¡Coder¡¡{ ¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡public¡¡static¡¡final¡¡String¡¡ALGORITHM¡¡=¡¡"EC"; ¡¡¡¡
¡¡¡¡¡¡¡¡private¡¡static¡¡final¡¡String¡¡PUBLIC_KEY¡¡=¡¡"ECCPublicKey&q
Ïà¹ØÎĵµ£º
JavaÀàµÄ³õʼ»¯Ë³Ðò
¡¡¡¡ÎÒ°ÑJavaÀàµÄ³õʼ»¯Ë³Ðò·ÖΪÁ½²¿·Ö¡£µÚÒ»²¿·ÖÊÇÀàµÄ³õʼ»¯£¬µÚ¶þ²¿·ÖÊǶÔÏóµÄ³õʼ»¯¡£
¡¡¡¡ÔÚ³õʼ»¯Ö®Ç°JVM±ØÐëÏȰѸÃÀàµÄ×Ö½ÚÂë¼ÓÔØµ½ÄÚ´æÖÐÀ´¡£Õâʱ²»¹Ü´´²»´´½¨¶ÔÏó¶¼»áÂíÉÏÖ´ÐÐÀàµÄ³õʼ»¯£º
¡¡¡¡Ö´Ðо²Ì¬³õʼ»¯±í´ïʽ£¨Èçstatic int a = 10£©ºÍ¾²Ì¬³õʼ»¯¿é£¨¼´static£û£ýÖеÄÄÚÈÝ£©£¬×¢ÒâÁ½ ......
JVM±¾ÉíÌṩÁËÒ»×é¹ÜÀíµÄAPI£¬Í¨¹ý¸ÃAPI£¬ÎÒÃÇ¿ÉÒÔ»ñÈ¡µÃµ½JVMÄÚ²¿Ö÷ÒªÔËÐÐÐÅÏ¢£¬°üÀ¨ÄÚ´æ¸÷´úµÄÊý¾Ý¡¢JVMµ±Ç°ËùÓÐÏ̼߳°ÆäÕ»Ïà¹ØÐÅÏ¢µÈ
µÈ¡£¸÷ÖÖJDK×Ô´øµÄÆÊÎö¹¤¾ß£¬°üÀ¨jps¡¢jstack¡¢jinfo¡¢jstat¡¢jmap¡¢jconsoleµÈ£¬¶¼ÊÇ»ùÓÚ´ËAPI¿ª·¢µÄ¡£±¾Æª¶ÔÕⲿ
·ÖÄÚÈݽøÐÐÒ»¸öÏêϸµÄ˵ ......
ÕâÊÇÎÒ¸öÈ˹éÄɵÄһЩ֪ʶµã£¬ÎÒ¾õµÃ³õѧjavaÊ×ÏÈÐèÒªÖØÒÔϵÄ֪ʶ¿ªÊ¼
(1)JAVA³ÌÐò¿ª·¢²½Ö裺
Ô´´úÂë-->±àÒë³É*.class-->Ö´ÐÐ(½«.class½»¸øJVM)
jvm--javaÐéÄâ»ú£¨½âÊÍÆ÷£©
(2)
JDK -- java¿ª·¢¹¤¾ß°ü(±àÒëÆ÷¡¢½âÊÍÆ÷¡¢Àà¿â)
JSDK -- java±ê×¼¿ª·¢¹¤¾ß°ü ......
ǰһ¶Îʱ¼äΪ´ó¼ÒÍÆ¼öÁË»ù±¾Javaѧϰ¼Æ½Ï¾µäµÄÖÐÎÄͼÊ飬½ñÌìÔÙΪ´ó¼Ò½éÉܼ¸±¾£¬ÓÐÐËȤµÄÅóÓѲ»·ÁÒ»¿´¡£ JBuilder ¿ª·¢ÈËÔ±Ö¸ÄÏÔÊéÃû: Borland Jbuilder for Windows 95,Windows 98,&Wnidows NT Developer¡®s Guide £¬JBuilderÊÇBorland¹«Ë¾ËùÍÆ³öµÄJavaÓïÑÔ±à³Ì¹¤¾ß£¬Ëü¾ßÓÐÒ»¸ö¹¦ÄÜÇ¿´óµÄ¼¯³É¿ª·¢»·¾³£¬¿ÉÒÔ¿ìËÙ´´½¨¸÷Ö ......
ÔÚEclipseÖÐÎÒÃǾ³£»áÏòÖ÷·½·¨×¢Èë²ÎÊý£¬ÒÔÌṩ¸ø³ÌÐòµÄÔËÐУ¬Æä·½·¨ÈçÏ£º
1.µãÔËÐа´Å¥£¨»òÓÒ»÷ÒªÔËÐеÄÀࣩ
2.µã»÷Open Run Dialog..
3.Ñ¡ÖÐ×ó²àÐèÒªÔËÐеÄÀà
4.ÔÚÓÒ²àÑ¡ÖÐArgument
5.ÔÚProgram ArgumentÖÐÊäÈëÄãҪעÈëµ½Ö÷º¯ÊýÖеIJÎÊý
6.µã»÷ÔËÐУ¨Run£©£¬¾Í¿ÉÒÔÔËÐÐÁË¡£¡£¡£ ......