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 ......
Java EE 6ÖÐ×îÒýÈËעĿµÄ¸Ä½øÒªËãWeb²ãµÄչʾÁË£¬ÕýÈçÇ°ÃæÌáµ½µÄJava EE 6µÄÒ»¸öÖØÒªÄ¿±ê¾ÍÊÇÌá¸ß¿ÉÀ©Õ¹ÐÔ£¬ÔÚ¿ÉÀ©Õ¹ÐÔ·½ÃæÁ½¸ö¹Ø¼ü¸Ä½ø·Ö±ðÊÇWeb·ÖƬºÍ¿É²å°ÎÐÔ¹²Ïí¿ò¼Ü£¬ÕâÁ½¸öÐÂÌØÐÔÊÇͨ¹ýJava EE 6ÖеÄServlet 3.0¼¼ÊõÌṩµÄ¡£Servlet 3.0£¬JSR 315¹æ·¶ÊÇServlet¼¼ÊõµÄ×îа汾£¬ËüÌṩÁËÖîÈçÖ§³ÖÒì²½´¦ ......
JavaÓëÆäËûÓïÑԵĻ¥²Ù×÷ÐÔ ÊÕ²Ø
Ŀǰ£¬ÎÒÃÇÏîÄ¿ÖÐÐèÒªÓõ½°ÑJava³ÌÐòǶÈëµ½.Net³ÌÐòÖеļ¼Êõ£¬ÎÒÃÇ×îºóËù²ÉÓõļ¼ÊõÊÇCodemesh¹«Ë¾µÄJuggerNET¡£ÕâÖÖÀàËÆµÄ¼¼ÊõºÜ¶à£¬±È½ÏÖªÃûµÄÖ÷ÒªÓÐintrinsyc¹«Ë¾µÄJIntegraÒÔ¼°IBMµÄJava COM bridge¡£
ÏîÄ¿½øÐе½ÏÖÔÚ£¬·¢ÏÖÁ˺ܶàÎÊÌ⣬Ö÷ÒªÓÐÈçϼ¸´óÀàÎÊÌ⣺
1¡¢µ¯³ö´°¿ÚÎÊÌâ
¶ÔÓ ......
½ü³õ²½½Ó´¥ÁËÏÂJava¼ÓÃܺÍÊý×ÖÇ©ÃûµÄÏà¹ØÄÚÈÝ£¬ÎÒѧϰµÄ¹ý³Ì´ó¸Å·ÖÎå²½£º
1£©ÏûÏ¢ÕªÒª
2£©Ë½Ô¿¼ÓÃÜ
3£©¹«Ô¿¼ÓÃÜ
4£©Êý×ÖÇ©Ãû
5) Êý×ÖÖ¤Êé
ÏÂÃæµÄ´úÂëÊǵڶþ²¿·Ö£ºË½Ô¿¼ÓÃÜ
Ï£ÍûÄÜΪ¸Õ¸Õ½Ó´¥Õâ¸öµÄÅóÓÑÃÇÊ¡µãÊÂ
package security;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import ......