當前位置:編程學習大全網 - 源碼下載 - Java生成RSA非對稱型加密的公鑰和私鑰

Java生成RSA非對稱型加密的公鑰和私鑰

 非對稱型加密非常適合多個客戶端和服務器之間的秘密通訊 客戶端使用同壹個公鑰將明文加密 而這個公鑰不能逆向的解密 密文發送到服務器後有服務器端用私鑰解密 這樣就做到了明文的加密傳送

 非對稱型加密也有它先天的缺點 加密 解密速度慢制約了它的發揮 如果妳有大量的文字需要加密傳送 建議妳通過非對稱型加密來把對稱型 密鑰 分發到客戶端 及時更新對稱型 密鑰

 import java io *;

 import java security *;

 import javax crypto *;

 import javax crypto spec *;

 /**

 * <p>Title: RSA非對稱型加密的公鑰和私鑰</p>

 * <p>Description: </p>

 * <p>Copyright: Copyright (c) </p>

 * <p>Company: </p>

 * @author not attributable

 * @version

 */

 public class KeyRSA {

 private KeyPairGenerator kpg = null;

 private KeyPair kp = null;

 private PublicKey public_key = null;

 private PrivateKey private_key = null;

 private FileOutputStream public_file_out = null;

 private ObjectOutputStream public_object_out = null;

 private FileOutputStream private_file_out = null;

 private ObjectOutputStream private_object_out = null;

 /**

 * 構造函數

 * @param in 指定密匙長度(取值範圍 ~ )

 * @throws NoSuchAlgorithmException 異常

 */

 public KeyRSA(int in String address) throws NoSuchAlgorithmException FileNotFoundException IOException

 {

 kpg = KeyPairGenerator getInstance( RSA ); //創建 密匙對 生成器

 kpg initialize(in); //指定密匙長度(取值範圍 ~ )

 kp = kpg genKeyPair(); //生成 密匙對 其中包含著壹個公匙和壹個私匙的信息

 public_key = kp getPublic(); //獲得公匙

 private_key = kp getPrivate(); //獲得私匙

 //保存公匙

 public_file_out = new FileOutputStream(address + /public_key dat );

 public_object_out = new ObjectOutputStream(public_file_out);

 public_object_out writeObject(public_key);

 //保存私匙

 private_file_out = new FileOutputStream(address + /private_key dat );

 private_object_out = new ObjectOutputStream(private_file_out);

 private_object_out writeObject(private_key);

 }

 public static void main(String[] args) {

 try {

 System out println( 私匙和公匙保存到C盤下的文件中 );

 new KeyRSA( c:/ );

 }

 catch (IOException ex) {

 }

 catch (NoSuchAlgorithmException ex) {

 }

 }

lishixinzhi/Article/program/Java/hx/201311/26592

  • 上一篇:新疆的主要旅遊景點有哪些?
  • 下一篇:遊戲問道在打開的時候會自動彈出壹個網頁,如何阻止?
  • copyright 2024編程學習大全網