java¼ÓÃܺÍÊý×ÖÇ©Ãû3 ¹«Ô¿¼ÓÃÜ
×î½ü³õ²½½Ó´¥ÁËÏÂJava¼ÓÃܺÍÊý×ÖÇ©ÃûµÄÏà¹ØÄÚÈÝ£¬ÎÒѧϰµÄ¹ý³Ì´ó¸Å·ÖÎå²½£º
1£©ÏûÏ¢ÕªÒª
2£©Ë½Ô¿¼ÓÃÜ
3£©¹«Ô¿¼ÓÃÜ
4£©Êý×ÖÇ©Ãû
5£©Êý×ÖÖ¤Êé
ÏÂÃæµÄ´úÂëÊǵÚÈý²¿·Ö£º¹«Ô¿¼ÓÃÜ
Ï£ÍûÄÜΪ¸Õ¸Õ½Ó´¥Õâ¸öµÄÅóÓÑÃÇÊ¡µãÊÂ
package security;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import javax.crypto.Cipher;
/**
* ´ËÀý×ÓÊÇÒ»¸ö¹«Ô¿¼ÓÃÜÀý×Ó,CipherÀàʹÓÃKeyPairGenerator(¹ËÃû˼Ò壺һ¶ÔÔ¿³×Éú³ÉÆ÷)Éú³ÉµÄ¹«Ô¿ºÍ˽Կ
*
* ¹«Ô¿¼ÓÃÜÒ²½Ð²»¶Ô³Æ¼ÓÃÜ£¬²»¶Ô³ÆË㷨ʹÓÃÒ»¶ÔÃÜÔ¿¶Ô£¬Ò»¸ö¹«Ô¿£¬Ò»¸ö˽Կ£¬Ê¹Óù«Ô¿¼ÓÃܵÄÊý¾Ý£¬Ö»ÓÐ˽ԿÄÜ
* ½â¿ª£¨¿ÉÓÃÓÚ¼ÓÃÜ£©£»Í¬Ê±£¬Ê¹ÓÃ˽Կ¼ÓÃܵÄÊý¾Ý£¬Ö»Óй«Ô¿Äܽ⿪£¨Ç©Ãû£©¡£µ«ÊÇËٶȺÜÂý£¨±È˽Կ¼ÓÃÜÂý100µ½
* 1000±¶£©£¬¹«Ô¿µÄÖ÷ÒªËã·¨ÓÐRSA£¬»¹°üÀ¨Blowfish,Diffie-Helman µÈ
*/
public class PublicKey {
public static void main(String[] args) throws Exception {
String before = "asdf";
byte[] plainText = before.getBytes("UTF8");
//²úÉúÒ»¸öRSAÃÜÔ¿Éú³ÉÆ÷KeyPairGenerator(¹ËÃû˼Ò壺һ¶ÔÔ¿³×Éú³ÉÆ÷)
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
//¶¨ÒåÃÜÔ¿³¤¶È1024λ
keyGen.initialize(1024);
//ͨ¹ýKeyPairGenerator²úÉúÃÜÔ¿,×¢Ò⣺ÕâÀïµÄkeyÊÇÒ»¶ÔÔ¿³×£¡£¡
KeyPair key = keyGen.generateKeyPair();
//»ñµÃÒ»¸öRSAµÄCipherÀ࣬ʹÓù«Ô¿¼ÓÃÜ
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
// System.out.println("\n" + cipher.getProvider().getInfo());
System.out.println("\nÓù«Ô¿¼ÓÃÜ...");
//Cipher.ENCRYPT_MODEÒâ˼ÊǼÓÃÜ£¬´ÓÒ»¶ÔÔ¿³×Öеõ½¹«Ô¿ key.getPublic()
cipher.init(Cipher.ENCRYPT_MODE, key.getPublic());
//Óù«Ô¿½øÐмÓÃÜ£¬·µ»ØÒ»¸ö×Ö½ÚÁ÷
byte[] cipherText = cipher.doFinal(plainText);
//ÒÔUTF8¸ñʽ°Ñ×Ö½ÚÁ÷ת»¯ÎªString
String after1 = new String(cipherText, "UTF8");
System.out.println("Óù«Ô¿¼ÓÃÜÍê³É£º"+after1);
//ʹÓÃ˽Կ½âÃÜ
System.out.println("\nÓÃ˽Կ½âÃÜ...");
//Cipher.DECRYPT_MODEÒâ˼ÊÇ
Ïà¹ØÎĵµ£º
ÎÒÔÚ×öVOS2009µÚ3·½½Ó¿Úµ÷Óã¬Í¨¹ýÕâ¸ö½Ó¿ÚÒª»ñÈ¡Óà¶îÏÔʾµ½webÉÏÓà¶î¡£
ÎÒÖªµÀjava´¦ÀíHTTP postÊý¾ÝÒÔ¼°webserviceÏà¹ØµÄÊý¾Ý£¬¿ÉÊǶÔÓÚvosÕâÖÖ½Ó¿ÚûŪ¹ý£¬²»Çå³þÔõôʵÏÖ£¬ÎÒ´ÓÍøÉÏÕÒÁËÏ£¬¿´µ½Óиö˵ÊÇͨ¹ýUDP·¢Ëͱ¨ÎÄʵÏֵ쬵«ÊDz»ÖªµÀÈçºÎÓÃjavaʵÏÖ£¬Âé·³ÓÐÖªµÀµÄ´Í½ÌÏ£¬Ð»Ð»£¡
ʾÀý±¨ÎĽṹ
OPTIONS sip:80 ......
Ò»¡¢Àí½â¶àÏß³Ì
¶àÏß³ÌÊÇÕâÑùÒ»ÖÖ»úÖÆ£¬ËüÔÊÐíÔÚ³ÌÐòÖв¢·¢Ö´Ðжà¸öÖ¸ÁîÁ÷£¬Ã¿¸öÖ¸ÁîÁ÷¶¼³ÆÎªÒ»¸öỊ̈߳¬±Ë´Ë¼ä»¥Ïà¶ÀÁ¢¡£Ïß³ÌÓÖ³ÆÎªÇáÁ¿¼¶½ø³Ì£¬ËüºÍ½ø³ÌÒ»ÑùÓµÓжÀÁ¢µÄÖ´ÐпØÖÆ£¬ÓɲÙ×÷ϵͳ¸ºÔðµ÷¶È£¬Çø±ðÔÚÓÚÏß³ÌûÓжÀÁ¢µÄ´æ´¢¿Õ¼ä£¬¶øÊǺÍËùÊô½ø³ÌÖÐµÄÆäËüÏ̹߳²ÏíÒ»¸ö´æ´¢¿Õ¼ä£¬ÕâʹµÃÏ̼߳äµÄ ......
1 ×÷ÓÃÓò
javaÖÐ×÷ÓÃÓòµÄ·¶Î§ÓÉ»¨À¨ºÅ±êʾ¡£
2¹ØÓÚstatic
À¬»øÊÕ¼¯Æ÷Ö»ÖªµÀËѼ¯ÄÇЩÓÐnewÔËËã·û·ÖÅäµÄÄڴ棬²»ÖªµÀÈçºÎÊÍ·ÅÌØÊâÄÚ´æ¡£
Èç¹ûÀ¬»øÊÕ¼¯Æ÷×¼±¸»ØÊÕ¶ÔÏóµÄÄڴ棬ËüÊ×Ïȵ÷ÓÃfinalize()£¬¶øÇÒÖ»ÓÐÔÚÏÂÒ»´ÎÀ¬»øËѼ¯¹ý³ÌÖУ¬²Å»áÕæÕý»ØÊÕ¶ÔÏóµÄÄÚ´æ¡£ËùÒÔ˵Èç¹ûʹÓÃ
final ......
ÔÎÄÁ´½Ó£ºhttp://java.csdn.net/index.php/2009/09/01/java%e5%bc%80%e5%8f%91%e8%80%85%e6%9c%80%e5%b8%b8%e5%8e%bb%e7%9a%8420%e4%b8%aa%e8%8b%b1%e6%96%87%e7%bd%91%e7%ab%99/
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨ ......
Thread-Per-Message PatternµÄ²ÎÓëÕߣº
1. Client£¨Î¯ÍÐÈË£©²ÎÓëÕß
Client²ÎÓëÕß»á¶ÔHost²ÎÓëÕß·¢³öÇëÇó¡£Client²ÎÓëÕß²¢²»ÖªµÀHost²ÎÓëÕß»áÈçºÎʵÏÖÕâ¸öÇëÇó¡£
2. Host²ÎÓëÕß
µ±Host²ÎÓëÕß½ÓÊÕµ½Client²ÎÓëÕßµÄÇëÇóʱ£¬»á½¨Á¢ÐµÄÏ̲߳¢Æô¶¯Ëü¡£
Õâ¸öеÄÏ ......