1. 程式人生 > >根據字串(String)生成公鑰(PublicKey)和私鑰(PrivateKey)物件

根據字串(String)生成公鑰(PublicKey)和私鑰(PrivateKey)物件

1、字串生成公鑰物件 PublicKey

/**
  * 例項化公鑰
  *
  * @return
  */
 private PublicKey getPubKey() {
  PublicKey publicKey = null;
  try {

   // 自己的公鑰(測試)
    String pubKey ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVRiDkEKXy/KBTe+UmkA+feq1zGWIgBxkgbz7aBJGb5+eMKKoiDRoEHzlGndwFKm4mQWNftuMOfNcogzYpGKSEfC7sqfBPDHsGPZixMWzL3J10zkMTWo6MDIXKKqMG1Pgeq1wENfJjcYSU/enYSZkg3rFTOaBSFId+rrPjPo7Y4wIDAQAB";
      

java.security.spec.X509EncodedKeySpec bobPubKeySpec = new java.security.spec.X509EncodedKeySpec(
     new BASE64Decoder().decodeBuffer(pubKey));
   // RSA對稱加密演算法
   java.security.KeyFactory keyFactory;
   keyFactory = java.security.KeyFactory.getInstance("RSA");
   // 取公鑰匙物件
   publicKey = keyFactory.generatePublic(bobPubKeySpec);
  } catch (NoSuchAlgorithmException e) {
   e.printStackTrace();
  } catch (InvalidKeySpecException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return publicKey;
 }

2、字串生成私鑰物件

 /**
  * 例項化私鑰
  *
  * @return
  */
 private PrivateKey getPrivateKey() {
  PrivateKey privateKey = null;
  String priKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJVGIOQQpfL8oFN75SaQD596rXMZYiAHGSBvPtoEkZvn54woqiINGgQfOUad3AUqbiZBY1+24w581yiDNikYpIR8Luyp8E8MewY9mLExbMvcnXTOQxNajowMhcoqowbU+B6rXAQ18mNxhJT96dhJmSDesVM5oFIUh36us+M+jtjjAgMBAAECgYABtnxKIabF0wBD9Pf8KUsEmXPEDlaB55LyPFSMS+Ef2NlfUlgha+UQhwsxND6CEKqS5c0uG/se/2+4l0jXz+CTYBEh+USYB3gxcMKEo5XDFOGaM2Ncbc7FAKJIkYYN2DHmr4voSM5YkVibw5Lerw0kKdYyr0Xd0kmqTok3JLiLgQJBAOGZ1ao9oqWUzCKnpuTmXre8pZLmpWPhm6S1FU0vHjI0pZh/jusc8UXSRPnx1gLsgXq0ux30j968x/DmkESwxX8CQQCpY1+2p1aX2EzYO3UoTbBUTg7lCsopVNVf41xriek7XF1YyXOwEOSokp2SDQcRoKJ2PyPc2FJ/f54pigdsW0adAkAM8JTnydc9ZhZ7WmBhOrFuGnzoux/7ZaJWxSguoCg8O

vbQk2hwJd3U4mWgbHWY/1XB4wHkivWBkhRpxd+6gOUjAkBH9qscS52zZzbGiwQsOk1Wk88qKdpXku4QDeUe3vmSuZwC85tNyu+KWrfM6/H74DYFbK/MzK7H8iz80uJye5jVAkAEqEB/LwlpXljFAxTID/SLZBb+bCIoV/kvg+2145F+CSSUjEWRhG/+OH0cQfqomfg36WrvHl0g/Xw06fg31HgK";
  PKCS8EncodedKeySpec priPKCS8;
  try {
   priPKCS8 = new PKCS8EncodedKeySpec(new BASE64Decoder().decodeBuffer(priKey));
   KeyFactory keyf = KeyFactory.getInstance("RSA");
   privateKey = keyf.generatePrivate(priPKCS8);
  } catch (IOException e) {
   e.printStackTrace();
  } catch (NoSuchAlgorithmException e) {
   e.printStackTrace();
  } catch (InvalidKeySpecException e) {
   e.printStackTrace();
  }
  return privateKey;
 }

相關推薦

根據字串String生成PublicKeyPrivateKey物件

1、字串生成公鑰物件 PublicKey /**   * 例項化公鑰   *   * @return   */  private PublicKey getPubKey() {   PublicKey publicKey = null;   try {    // 自己的

支付寶支付接入安全基礎 - 生成

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

openssl 生成包含16進位制

1. 生成原始 RSA私鑰檔案 rsa_private_key.pem openssl genrsa -out rsa_private_key.pem 1024 2. 將原始 RSA私鑰轉換為 pkcs8格式,JAVA需要使用的私鑰需要經過 PKCS8 編碼 openssl pkcs8 -top

C# RSA加密、解密、加簽、驗籤、支援JAVA格式、PEM格式、.NET格式 -變態模式【支援加密,解密】

RSA變態模式:【私鑰加密,公鑰解密】 一般這種寫法都是JAVA弄的。.NET原生不支援。為啥,我也不清楚,大概是因為安全性問題吧,畢竟公鑰是人人都可是持有的。私鑰只有自己擁有。 簽名一直都是【私鑰加簽、公鑰驗籤】只為證明該訊息是你發出來的。 這裡使用了BouncyC

Git簡單生成生成方法

wap .com strong file art 代碼 秘鑰 ron div Git配置 Git安裝完之後,需做最後一步配置。打開git bash,分別執行以下兩句命令 git config --global user.name “用戶名” git config --

如何使用openssl生成RSA

在ubuntu上要使用openssl的話需要先進行安裝,命令如下: sudo apt-get install openssl 安裝完成就可以使用openssl了。 首先需要進入openssl的互動介面,在命令行了輸入openssl即可; 1)生成RSA私鑰:

RSA加密演算法生成

Java RSA加密演算法生成公鑰和私鑰 import java.security.Key; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.interf

[LOJ#2473][九省聯考2018]祕密襲擊樹形DP+生成函式+線段樹合併+拉格朗日插值

Address 洛谷P4365 BZOJ5250 LOJ#2473 The First Step - 轉化 簡版題意:給定一棵點帶權樹,求樹上所有大小大於 k

陣列隨機生成一維陣列,二維陣列的概念題目設計利用二維陣列 :任意給定分數去計算科目人均平均分

1 //陣列間的關係arr[]中的數字為幾,[]內就有幾個數 2 //{ }內的數是從0開始,如需要列印應從0開數 3 如{2,6,9,8,7}列印arr[4]就是7 4 #include <stdio.h> 5 #include <stdlib.h> 6 int

Windows下Nginx配置支援HTTPS協議已申請正式的SSL證書的,前三步可以跳過

以Windows 10系統為例。 一、安裝OpenSSL 然後安裝在C:\OpenSSL-Win64下。 然後配置環境變數。在系統環境變數中新增環境變數: 變數名:OPENSSL_HOME 變數值:C:\OpenSSL-Win64\bin; (變數值為OPEN

詳解win10 64位系統下是如何安裝OpenSSL? 及通過openssl工具生成RSA的

預備工具: 安裝環境:Windows10旗艦版 -64位  +  Microsoft Visual Studio2013 相關軟體:vs2013、ActivePerl-5.24.3、openssl-1

【python RAS驗籤】RSA生成,並驗籤

1、RSA加密解密過程 公鑰加密,私鑰解密 2、RSA驗簽過程 私鑰產生簽名,公鑰驗證簽名 1.服務端產生公鑰和私鑰 私鑰,去掉換行,空格,頭部,利用阿里的工具轉成pkcs8給客戶端 2.客戶端用私鑰對

openssl pem 生成及檔案

原文地址:https://www.cnblogs.com/cocoajin/p/6137651.html   openssl pem.h 中提供了關於pem格式金鑰對的操作介面 通常使用.pem的格式檔案來儲存openssl 生成的金鑰對; 在終端下 cat xxx.pem

通過idea maven專案生成實體類、dao、mybatis的mapper.xml

1、建立maven專案,引入以下jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs

使用openssl生成RSA

在ubuntu上要使用openssl的話需要先進行安裝,命令如下: #sudo apt-get install openssl #openssl 首先需要進入openssl的互動介面,在命令行

iOS推送小結證書的生成、客戶端的開發、服務端的開發

1.推送過程簡介      (1)App啟動過程中,使用UIApplication::registerForRemoteNotificationTypes函式與蘋果的APNS伺服器通訊,發出註冊遠端推送的申請。若註冊成功,回撥函式application:(UIApplication *)applicatio

使用OpenSSL生成RSA

Windows下生成RSA公鑰和私鑰 開啟 openssl 資料夾下的 bin 資料夾,執行 openssl.exe 檔案 生成 RSA 私鑰,出現圖中提示說明生成成功 genrsa -out

JDK自帶工具keytool生成ssl證書https自生成證書並配置到jbosstomcat中

1:什麼是HTTPS? HTTPS其實是有兩部分組成:HTTP + SSL / TLS, 也就是在HTTP上又加了一層處理加密資訊的模組,並且會進行身份的驗證。 問題: Firebug和postman之類的瀏覽器除錯工具,為什麼獲取到的是明文? 解答: SSL

支付寶PHP-RSA生成

/* * 生成RSA私鑰和公鑰 * @success array privKey,pubKey * */ public function pkey_new

golang 生成RSA檔案

package main import ("crypto/rand""crypto/rsa""crypto/x509""encoding/pem""os" ) func main() {//rsa 金