亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java怎么用RSA加密方式實現數據加密解密

發布時間:2021-08-20 22:31:25 來源:億速云 閱讀:128 作者:chen 欄目:編程語言

這篇文章主要講解了“java怎么用RSA加密方式實現數據加密解密”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java怎么用RSA加密方式實現數據加密解密”吧!

RSA的應用

RSA是一種非對稱加密算法。現在,很多登陸表單的密碼的都采用RSA加密,例如京東中的登陸使用公鑰對密碼進行加密

java使用RSA加密方式實現數據加密解密,需要首先產生私鑰和公鑰

測試代碼

public static void main(String args[]) {  try {    RSADemo rsa=new RSADemo();    rsa.generateKey();    byte[] data=rsa.encrypt("luanpeng".getBytes());    byte[] data1=rsa.decrypt(data);    String str=new String(data1);    System.out.println(str);  } catch (Exception e) {    System.out.println(e.toString());  }}

RSA工具類的實現

package com.lp.app.safe;import java.security.*;import java.security.interfaces.*;import java.math.*;public class RSADemo {  public RSADemo() {  }  PublicKey pbkey;  PrivateKey prkey;  public void generateKey() {    try {      KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");      kpg.initialize(1024);      KeyPair kp = kpg.genKeyPair();      pbkey = kp.getPublic();      prkey = kp.getPrivate();    } catch (Exception e) {    }  }  //加密,需要公鑰  public byte[] encrypt(byte[] ptext) throws Exception {    // 獲取公鑰及參數e,n    RSAPublicKey pbk = (RSAPublicKey)pbkey;    BigInteger e = pbk.getPublicExponent();    BigInteger n = pbk.getModulus();    // 獲取明文m    BigInteger m = new BigInteger(ptext);    // 計算密文c    BigInteger c = m.modPow(e, n);    return c.toByteArray();  }  //使用私鑰進行解密  public byte[] decrypt(byte[] ctext) throws Exception {    // 讀取密文    BigInteger c = new BigInteger(ctext);    // 讀取私鑰    RSAPrivateKey prk = (RSAPrivateKey)prkey;    BigInteger d = prk.getPrivateExponent();    // 獲取私鑰參數及解密    BigInteger n = prk.getModulus();    BigInteger m = c.modPow(d, n);    // 顯示解密結果    byte[] mt = m.toByteArray();    return mt;  }}

感謝各位的閱讀,以上就是“java怎么用RSA加密方式實現數據加密解密”的內容了,經過本文的學習后,相信大家對java怎么用RSA加密方式實現數據加密解密這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柞水县| 西平县| 伊川县| 乡城县| 尉犁县| 涿鹿县| 青神县| 治县。| 柯坪县| 广南县| 大埔县| 阿荣旗| 桐城市| 石棉县| 浪卡子县| 凉城县| 建宁县| 远安县| 柞水县| 合水县| 美姑县| 石泉县| 泾川县| 西宁市| 察哈| 澄江县| 江门市| 南京市| 锡林郭勒盟| 牡丹江市| 丰城市| 藁城市| 泸西县| 宁远县| 林西县| 香格里拉县| 黄梅县| 湾仔区| 江安县| 阿瓦提县| 井冈山市|