欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2015年07月20日 10:25:06   作者:鑒客  
這篇文章主要介紹了Java生成非對稱型加密公鑰和私鑰的方法,涉及java非對稱加密的原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Java生成非對稱型加密公鑰和私鑰的方法。分享給大家供大家參考。具體如下:

非對稱型加密非常適合多個客戶端和服務器之間的秘密通訊,客戶端使用同一個公鑰將明文加密,而這個公鑰不能逆向的解密,密文發(fā)送到服務器后有服務器端用私鑰解密,這樣就做到了明文的加密傳送。
非對稱型加密也有它先天的缺點,加密、解密速度慢制約了它的發(fā)揮,如果你有大量的文字需要加密傳送,建議你通過非對稱型加密來把對稱型‘密鑰'分發(fā)到客戶端,及時更新對稱型‘密鑰'。

KeyRSA.java如下:

import java.io.*;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
/**
 * RSA非對稱型加密的公鑰和私鑰
 */
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;
 /**
  * 構造函數(shù)
  * @param in 指定密匙長度(取值范圍:512~2048)
  * @throws NoSuchAlgorithmException 異常
  */
 public KeyRSA(int in, String address) throws NoSuchAlgorithmException,
   FileNotFoundException, IOException {
  kpg = KeyPairGenerator.getInstance("RSA"); //創(chuàng)建‘密匙對'生成器
  kpg.initialize(in); //指定密匙長度(取值范圍:512~2048)
  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 {
   new KeyRSA(1024, "c:/key_rsa");
  }
  catch (IOException ex) {
  }
  catch (NoSuchAlgorithmException ex) {
  }
 }
}

希望本文所述對大家的java程序設計有所幫助。

相關文章

  • 詳解Java基礎之封裝

    詳解Java基礎之封裝

    這篇文章主要為大家介紹了Java基礎之封裝,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Guava - 并行編程Futures詳解

    Guava - 并行編程Futures詳解

    這篇文章主要介紹了Guava - 并行編程Futures詳解方法的相關資料,需要的朋友可以參考下
    2016-09-09
  • Springboot+WebSocket實現(xiàn)在線聊天功能

    Springboot+WebSocket實現(xiàn)在線聊天功能

    WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡協(xié)議。這篇文章主要為大家介紹了如何利用Springboot和WebSocket實現(xiàn)在線聊天功能,感興趣的小伙伴可以了解一下
    2023-02-02
  • Java數(shù)據(jù)結構之優(yōu)先級隊列(堆)圖文詳解

    Java數(shù)據(jù)結構之優(yōu)先級隊列(堆)圖文詳解

    優(yōu)先級隊列是比棧和隊列更專用的結構,在多數(shù)情況下都非常有用,下面這篇文章主要給大家介紹了關于Java數(shù)據(jù)結構之優(yōu)先級隊列(堆)的相關資料,需要的朋友可以參考下
    2022-03-03
  • java文件讀寫操作實例詳解

    java文件讀寫操作實例詳解

    java的io流讀取數(shù)據(jù)使用io流讀取文件和向文件中寫數(shù)據(jù),這篇文章主要給大家介紹了關于java文件讀寫操作的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • Java面向對象編程中final關鍵字的使用方法詳解

    Java面向對象編程中final關鍵字的使用方法詳解

    這篇文章主要介紹了Java面向對象編程中final關鍵字的使用方法詳解,包括對內(nèi)部匿名類無法訪問外面的非 final 的變量問題的解讀,需要的朋友可以參考下
    2016-06-06
  • Java比較問題詳細分析

    Java比較問題詳細分析

    本篇文章主要給大家講解了Java中比較問題的相關知識,一起參考學習下吧。
    2017-12-12
  • Spring Boot實戰(zhàn)之逐行釋義Hello World程序

    Spring Boot實戰(zhàn)之逐行釋義Hello World程序

    spring boot 是基于Spring的一個框架,Spring boot幫我們集成很多常用的功能,使得整個配置更加簡單。這篇文章主要介紹了Spring Boot實戰(zhàn)之逐行釋義Hello World,需要的朋友可以參考下
    2017-12-12
  • Java網(wǎng)絡編程之UDP協(xié)議詳細解讀

    Java網(wǎng)絡編程之UDP協(xié)議詳細解讀

    這篇文章主要介紹了Java網(wǎng)絡編程之UDP協(xié)議詳細解讀,UDP協(xié)議全稱是用戶數(shù)據(jù)報協(xié)議,在網(wǎng)絡中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無連接的協(xié)議,在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層,需要的朋友可以參考下
    2023-12-12
  • springboot中server.ssl.key-store配置路徑的問題小結

    springboot中server.ssl.key-store配置路徑的問題小結

    這篇文章主要介紹了springboot中server.ssl.key-store配置路徑的問題,文中還記錄了Spring Boot SSL(https)實例,介紹在web程序中使用自簽名的SSL(HTTPS)證書及創(chuàng)建SSL認證,感興趣的朋友跟隨小編一起看看吧
    2024-02-02

最新評論