激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java實現(xiàn)RSA算法的方法詳解

Java實現(xiàn)RSA算法的方法詳解

2021-04-18 15:44chengqiuming Java教程

這篇文章主要介紹了Java實現(xiàn)RSA算法的方法,結合實例形式分析了RSA算法的原理、實現(xiàn)與使用方法,需要的朋友可以參考下

本文實例講述了java實現(xiàn)rsa算法的方法。分享給大家供大家參考,具體如下:

一 介紹

唯一廣泛接受并實現(xiàn)
用于數(shù)據(jù)加密和數(shù)字簽名
公鑰加密、私鑰解密
私鑰加密、公鑰解密

二 rsa參數(shù)說明

Java實現(xiàn)RSA算法的方法詳解

三 實現(xiàn)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.imooc.security.rsa;
import java.security.keyfactory;
import java.security.keypair;
import java.security.keypairgenerator;
import java.security.privatekey;
import java.security.publickey;
import java.security.interfaces.rsaprivatekey;
import java.security.interfaces.rsapublickey;
import java.security.spec.pkcs8encodedkeyspec;
import java.security.spec.x509encodedkeyspec;
import javax.crypto.cipher;
import org.apache.commons.codec.binary.base64;
public class imoocrsa {
  private static string src = "cakin24 security rsa";
  public static void main(string[] args) {
    jdkrsa();
  }
  public static void jdkrsa() {
    try {
      //1.初始化密鑰
      keypairgenerator keypairgenerator = keypairgenerator.getinstance("rsa");
      keypairgenerator.initialize(512);
      keypair keypair = keypairgenerator.generatekeypair();
      rsapublickey rsapublickey = (rsapublickey)keypair.getpublic();
      rsaprivatekey rsaprivatekey = (rsaprivatekey)keypair.getprivate();
      system.out.println("public key : " + base64.encodebase64string(rsapublickey.getencoded()));
      system.out.println("private key : " + base64.encodebase64string(rsaprivatekey.getencoded()));
      //2.私鑰加密、公鑰解密——加密
      pkcs8encodedkeyspec pkcs8encodedkeyspec = new pkcs8encodedkeyspec(rsaprivatekey.getencoded());
      keyfactory keyfactory = keyfactory.getinstance("rsa");
      privatekey privatekey = keyfactory.generateprivate(pkcs8encodedkeyspec);
      cipher cipher = cipher.getinstance("rsa");
      cipher.init(cipher.encrypt_mode, privatekey);
      byte[] result = cipher.dofinal(src.getbytes());
      system.out.println("私鑰加密、公鑰解密——加密 : " + base64.encodebase64string(result));
      //3.私鑰加密、公鑰解密——解密
      x509encodedkeyspec x509encodedkeyspec = new x509encodedkeyspec(rsapublickey.getencoded());
      keyfactory = keyfactory.getinstance("rsa");
      publickey publickey = keyfactory.generatepublic(x509encodedkeyspec);
      cipher = cipher.getinstance("rsa");
      cipher.init(cipher.decrypt_mode, publickey);
      result = cipher.dofinal(result);
      system.out.println("私鑰加密、公鑰解密——解密:" + new string(result));
      //4.公鑰加密、私鑰解密——加密
      x509encodedkeyspec = new x509encodedkeyspec(rsapublickey.getencoded());
      keyfactory = keyfactory.getinstance("rsa");
      publickey = keyfactory.generatepublic(x509encodedkeyspec);
      cipher = cipher.getinstance("rsa");
      cipher.init(cipher.encrypt_mode, publickey);
      result = cipher.dofinal(src.getbytes());
      system.out.println("公鑰加密、私鑰解密——加密 : " + base64.encodebase64string(result));
      //5.公鑰加密、私鑰解密——解密
      pkcs8encodedkeyspec = new pkcs8encodedkeyspec(rsaprivatekey.getencoded());
      keyfactory = keyfactory.getinstance("rsa");
      privatekey = keyfactory.generateprivate(pkcs8encodedkeyspec);
      cipher = cipher.getinstance("rsa");
      cipher.init(cipher.decrypt_mode, privatekey);
      result = cipher.dofinal(result);
      system.out.println("公鑰加密、私鑰解密——解密:" + new string(result));
    } catch (exception e) {
      e.printstacktrace();
    }
  }
}

四 實現(xiàn)效果

public key : mfwwdqyjkozihvcnaqebbqadswawsajbajcbeob97idkkirbmx3moy5e4erwh0uvc2bcnly1rdo0lz8ibr1bl1rjxwkhv7u0aso/5dblnnngbqrtsjlscpmcaweaaq==
private key : miibvaibadanbgkqhkig9w0baqefaascat4wgge6ageaakealwf45v3sh2ssksgbhcw5jl7h5hchs68lyfw2vjwsojsvnyjthvuxveldaqe/ttqbi7/kmgweecztbg2wmwwi8widaqabakadskprsl+ew3s2n+cemizxfyyb0xhs1d84qapafpixkunvwl0a4ovrwsnwt4mejatwvtufnvtxizczdx+q5dbbaiea9tzzymgru+3mdlax0icf+niqwvlqyvedka4ksx55gvuciqcdoex6mqgrp78aqjykweogwliszju5fn/lfvkzrcgbjwihamvbblzzaykhy0ikw75kd/lksyouty+20bap+midrqgzaia6r36eerkzqubtcl8lxypb5f79htxd5dcvnib/zgp0uwigwtxi7ixhjycsnomsjdu1j3du9kqquw/eohxrk/oguye=
私鑰加密、公鑰解密——加密 : vjkfsoivelvkes5rprhsjk9tdtzohdells7yluidcyee7dkucm9srj8kwadynhi4m0olafjhk6447hp7ia8x7a==
私鑰加密、公鑰解密——解密:cakin24 security rsa
公鑰加密、私鑰解密——加密 : gawl73uxhto+efkkpmfmdhtk0vh7hb8n+30l1hp8aamiagd21h2x/q/ns+sogsoxnovunzasgzenmzzcjb4vea==
公鑰加密、私鑰解密——解密:cakin24 security rsa

五 應用場景

Java實現(xiàn)RSA算法的方法詳解

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

原文鏈接:https://blog.csdn.net/chengqiuming/article/details/78755050

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久久久久久久久久午夜 | 性爱免费在线视频 | 成人福利电影在线观看 | 亚洲av一级毛片特黄大片 | 国产69精品久久99不卡免费版 | 久久久久久久不卡 | 亚洲成人第一区 | 97久久精品一区二区三区观看 | 精品亚洲二区 | 欧美性成人 | 亚洲国产精品高潮呻吟久久 | 91精品国产综合久久久欧美 | 日韩精品99久久久久久 | 91丝袜| 一道本不卡一区 | 久久久久99一区二区三区 | 视频一区二区三区在线观看 | 免费观看9x视频网站在线观看 | 羞羞草视频 | 国产成人高清在线观看 | 看91视频 | 老女人碰碰在线碰碰视频 | 日本在线视频免费观看 | 欧美精品一区二区久久 | 欧美一区二区黄色 | 欧美成人黄色小视频 | 日本在线播放一区 | 精品国产91久久久久久久 | 一区二区精品在线 | 在线播放亚洲视频 | 日日摸夜夜添夜夜添牛牛 | 成年性羞羞视频免费观看 | 精品国产一区二区三区四 | 中文欧美日韩 | av在线免费播放网站 | www久久久久久 | 久久精品久久精品国产大片 | 在线成人精品视频 | 亚洲视屏在线 | 狠狠干五月| 26uuu成人人网图片 |