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Òâ˼ÊÇ
Ïà¹ØÎĵµ£º
1. java.lang.nullpointerexception
¡¡¡¡Õâ¸öÒì³£´ó¼Ò¿Ï¶¨¶¼¾³£Óöµ½£¬Òì³£µÄ½âÊÍÊÇ"³ÌÐòÓöÉÏÁË¿ÕÖ¸Õë"£¬¼òµ¥µØËµ¾ÍÊǵ÷ÓÃÁËδ¾³õʼ»¯µÄ¶ÔÏó»òÕßÊDz»´æÔڵĶÔÏó£¬Õâ¸ö´íÎó¾³£³öÏÖÔÚ´´½¨Í¼Æ¬£¬µ÷ÓÃÊý×éÕâЩ²Ù×÷ÖУ¬±ÈÈçͼƬδ¾³õʼ»¯£¬»òÕßͼƬ´´½¨Ê±µÄ·¾¶´íÎóµÈµÈ¡£¶ÔÊý×é²Ù×÷ÖгöÏÖ¿ÕÖ¸Õ룬ºÜ¶àÇé¿öÏÂÊÇһЩ¸Õ¿ªÊ¼Ñ§ ......
¶àÏß³ÌÊÇjavaµÄÒ»¸öÓÅÊÆ£¬javaʹµÃ³ÌÐòÔ±¿ÉÒԺܷ½±ãµÄ½øÐжàÏ̳߳ÌÐò¿ª·¢¡£»ñµÃ¸üºÃµÄÐÔÄÜ¡£
¹ØÓÚ¶àÏ̵߳ĸÅÄîÒÔ¼°Ò»°ãµÄ¶àÏ̱߳à³Ì£¬±ÈÈçÈçºÎÒÔ¼°ÎªºÎʵÏÖrunnable½Ó¿Ú£¬ÎªºÎstop()»á±»DeprecatedµôµÈµÈ£¬Õâ¸öÇë¿´matrix֮ǰµÄ¶àÏ̱߳à³Ì»ù´¡»òÕßsunµÄjavaÎĵµ¡£
¹ØÓÚ¶àÏ̱߳à³Ì£¬Óм¸µãÕâÀïÒªÌáµ½µÄ£º
1¡£¼ÈÈ»stop( ......
1.³éÏó£º
¡¡¡¡³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º
¡¡¡¡¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ÇÒÔÊÐíºÍ¹ÄÀøÀàµÄÖØÓã¬ËüÌṩÁËÒ»ÖÖÃ÷È· ......
import java.io.*;
public class CaiPiao {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str;
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(System.in ......
×î½ü³õ²½½Ó´¥ÁËÏÂJava¼ÓÃܺÍÊý×ÖÇ©ÃûµÄÏà¹ØÄÚÈÝ£¬ÎÒѧϰµÄ¹ý³Ì´ó¸Å·ÖÎå²½£º
1£©ÏûÏ¢ÕªÒª
2£©Ë½Ô¿¼ÓÃÜ
3£©¹«Ô¿¼ÓÃÜ
4£©Êý×ÖÇ©Ãû
5£©Êý×ÖÖ¤Êé
ÎÒ¸öÈËÈÏΪѧϰ±à³Ì×î¿ìµÄ·½·¨¾ÍÊÇʵ¼Ê½áºÏÀíÂÛ(¼´ÏÈʵ¼ÊÔÚÀíÂÛ)´úÂë×Ô¼ºÅÜÅÜ¿´£¬µ÷Ò»µ÷£¬·¢ÏÖÎÊÌâ»òÆæ¹ÖµÄµØ·½ÔÚÈ¥ÕÒÏà¹Ø×ÊÁϲé²é¡£±È´ÓÍ·µ½Î²¿´Ò»¶ÑÀíÂÛÈ»ºóÔÙÀíÂ۽Ạ......