java¼ÓÃܺÍÊý×ÖÇ©Ãû4 Êý×ÖÇ©Ãû
×î½ü³õ²½½Ó´¥ÁËÏÂJava¼ÓÃܺÍÊý×ÖÇ©ÃûµÄÏà¹ØÄÚÈÝ£¬ÎÒѧϰµÄ¹ý³Ì´ó¸Å·ÖÎå²½£º
1£©ÏûÏ¢ÕªÒª
2£©Ë½Ô¿¼ÓÃÜ
3£©¹«Ô¿¼ÓÃÜ
4£©Êý×ÖÇ©Ãû
5£©Êý×ÖÖ¤Êé
ÏÂÃæµÄ´úÂëÊǵÚËIJ¿·Ö£ºÊý×ÖÇ©Ãû
Ï£ÍûÄÜΪ¸Õ¸Õ½Ó´¥Õâ¸öµÄÅóÓÑÃÇÊ¡µãÊ package security;
import java.security.Signature;
import java.security.KeyPairGenerator;
import java.security.KeyPair;
import java.security.SignatureException;
/**
* ´ËÀý×ÓÊÇÊý×ÖÇ©ÃûµÄÀý×Ó£¬Ê¹ÓÃRSA˽Կ¶ÔÏûÏ¢ÕªÒª£¨ÕâÀïÖ¸µÄÊÇÔʼÊý¾Ý£©½øÐÐÇ©Ãû£¬È»ºóʹÓù«Ô¿Ñé֤ǩÃû
*
* Aͨ¹ýʹÓÃBµÄ¹«Ô¿¼ÓÃÜÊý¾Ýºó·¢¸øB£¬BÀûÓÃBµÄ˽Կ½âÃܾ͵õ½ÁËÐèÒªµÄÊý¾Ý£¨½ø¹ýB¹«Ô¿¼ÓÃܵÄÊý¾ÝÖ»ÓÐBµÄ˽ԿÄܹ»
* ½â¿ª£¬CûÓÐBµÄ˽Կ£¬ËùÒÔC½â²»¿ª£¬µ«C¿ÉÒÔʹÓÃBµÄ¹«Ô¿¼ÓÃÜÒ»·ÝÊý¾Ý·¢¸øB£¬ÕâÑùÒ»À´£¬ÎÊÌâÀ´ÁË£¬BÊÕµ½µÄÊý¾Ýµ½
* µ×ÊÇA·¢¹ýÀ´µÄ»¹ÊÇC·¢¹ýÀ´µÄÄØ£©
* ÓÉÓÚ˽ԿÊÇΨһµÄ£¬ÄÇôA¾Í¿ÉÒÔÀûÓÃA×Ô¼ºµÄ˽Կ½øÐмÓÃÜ£¬È»ºóBÔÙÀûÓÃAµÄ¹«Ô¿À´½âÃÜ£¬¾Í¿ÉÒÔÈ·¶¨£ºÒ»¶¨ÊÇAµÄÏû
* Ï¢£¬Êý×ÖÇ©ÃûµÄÔÀí¾Í»ùÓÚ´Ë
*
* ×ܽ᣺AÏ뽫Ŀ±êÊý¾Ý´«¸øB£¬´ËʱAÐèҪ׼±¸1ºÍ2Á½²¿·Ö
* 1£ºAʹÓÃBµÄ¹«Ô¿½«ÔʼÐÅÏ¢¼ÓÃÜ£¬ÒÔÆðµ½±£ÃÜ×÷Óã¨Ö»ÓÐBµÄ˽ԿÄܽ⿪£¬ÆäËûÈËʹÓÃÆäËûÔ¿³×¶¼½â²»¿ª£¬µ±È»¾Í±£ÃÜ¿©£©
* 2£ºAʹÓÃAµÄ˽Կ½«ÔʼÐÅÏ¢µÄÕªÒª½øÐÐÇ©Ãû£¬ÒÔÆðµ½½ÓÊÕ·½BÈ·¶¨ÊÇA·¢¹ýÀ´µÄ×÷Óã¨AÓÃAµÄ˽Կ¶ÔÄ¿±êÊý¾ÝµÄÕªÒª½øÐÐÇ©
* Ãû£¬È»ºó´«¸øB,ͬʱ£¬CÓÃCµÄ˽Կ¶ÔÈÎÒâÐÅÏ¢½øÐÐÇ©ÃûÒ²´«¸øB£¬BÏë½ÓÊܵÄÊÇAµÄÊý¾Ý£¨±ÈÈç˵һ¸öתÕÊÇëÇ󣩣¬ÓÚÊÇB
* ¾Íͨ¹ýAµÄ¹«Ô¿¶Ô½ÓÊܵ½µÄÁ½¸öÐÅÏ¢½øÐнâÃÜ£¬½â¿ªµÄ¾ÍÊÇA£¨AµÄ¹«Ô¿ÄÜÇÒÖ»Äܽ⿪AµÄ˽Կ¼ÓÃܵÄÊý¾Ý£©£©
*/
public class DigitalSignature {
public static void main(String[] args) throws Exception {
String before = "asdf";
byte[] plainText = before.getBytes("UTF8");
//ÐγÉRSA¹«Ô¿¶Ô
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024);
KeyPair key = keyGen.generateKeyPair();
//ʹÓÃ˽ԿǩÃû**********************************************************
Signature sig = Signature.getInstance("SHA1WithRSA");
sig.initSign(key.getPrivate());//sig¶ÔÏóµÃµ½Ë½Ô¿
//Ç©Ãû¶ÔÏóµÃµ½ÔʼÊý¾Ý
sig.update(plainText
Ïà¹ØÎĵµ£º
1 ×÷ÓÃÓò
javaÖÐ×÷ÓÃÓòµÄ·¶Î§ÓÉ»¨À¨ºÅ±êʾ¡£
2¹ØÓÚstatic
À¬»øÊÕ¼¯Æ÷Ö»ÖªµÀËѼ¯ÄÇЩÓÐnewÔËËã·û·ÖÅäµÄÄڴ棬²»ÖªµÀÈçºÎÊÍ·ÅÌØÊâÄÚ´æ¡£
Èç¹ûÀ¬»øÊÕ¼¯Æ÷×¼±¸»ØÊÕ¶ÔÏóµÄÄڴ棬ËüÊ×Ïȵ÷ÓÃfinalize()£¬¶øÇÒÖ»ÓÐÔÚÏÂÒ»´ÎÀ¬»øËѼ¯¹ý³ÌÖУ¬²Å»áÕæÕý»ØÊÕ¶ÔÏóµÄÄÚ´æ¡£ËùÒÔ˵Èç¹ûʹÓÃ
final ......
£¨1£©À༯µÄ²úÉúÄ¿µÄ
À༯¼òµ¥À´½²¾ÍÊÇÒ»¸ö¶¯Ì¬µÄ¶ÔÏóÊý×飬´Ë¶ÔÏóÊý×é¿ÉÒԸıä´óС£¬¿ÉÒÔÈÎÒâµÄʵÏÖ¶ÔÏóµÄÔö¼Ó¡¢É¾³ý¡¢Êä³ö¡£ËùÓеÄÀ༯´æ·Åjava.util°üÖС£
£¨2£©À༯µÄ»®·Ö
1¡¢´æ·Åµ¥Öµ£ºCollection
2¡¢´æ·ÅÒ»¶ÔÖµ£ºMap
3¡¢Êä³ö£ºIterator
Collection£¨´æ·Åµ¥Öµ£©
©ÀList
©¦©ÀLinkedList
© ......
1.³éÏó£º
¡¡¡¡³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º
¡¡¡¡¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ÇÒÔÊÐíºÍ¹ÄÀøÀàµÄÖØÓã¬ËüÌṩÁËÒ»ÖÖÃ÷È· ......
½ü³õ²½½Ó´¥ÁËÏÂJava¼ÓÃܺÍÊý×ÖÇ©ÃûµÄÏà¹ØÄÚÈÝ£¬ÎÒѧϰµÄ¹ý³Ì´ó¸Å·ÖÎå²½£º
1£©ÏûÏ¢ÕªÒª
2£©Ë½Ô¿¼ÓÃÜ
3£©¹«Ô¿¼ÓÃÜ
4£©Êý×ÖÇ©Ãû
5) Êý×ÖÖ¤Êé
ÏÂÃæµÄ´úÂëÊǵڶþ²¿·Ö£ºË½Ô¿¼ÓÃÜ
Ï£ÍûÄÜΪ¸Õ¸Õ½Ó´¥Õâ¸öµÄÅóÓÑÃÇÊ¡µãÊÂ
package security;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import ......
×î½ü³õ²½½Ó´¥ÁËÏÂJava¼ÓÃܺÍÊý×ÖÇ©ÃûµÄÏà¹ØÄÚÈÝ£¬ÎÒѧϰµÄ¹ý³Ì´ó¸Å·ÖÎå²½£º
1£©ÏûÏ¢ÕªÒª
2£©Ë½Ô¿¼ÓÃÜ
3£©¹«Ô¿¼ÓÃÜ
4£©Êý×ÖÇ©Ãû
5£©Êý×ÖÖ¤Êé
ÏÂÃæµÄ´úÂëÊǵÚÈý²¿·Ö£º¹«Ô¿¼ÓÃÜ
Ï£ÍûÄÜΪ¸Õ¸Õ½Ó´¥Õâ¸öµÄÅóÓÑÃÇÊ¡µãÊÂ
package security;
import java.security.KeyPair;
import java.security.KeyPairGenerator ......