亚洲国产第一站精品蜜芽_亚洲AV无码精品色午夜果冻不卡_国产香蕉九九久久精品免费_国产精品亚洲专区无码不卡

更多精彩內(nèi)容,歡迎關(guān)注:

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

當(dāng)前位置:首頁 科技百科 java rsa加密

java rsa加密

文檔

java rsa加密

java rsa加密是java中的一種非對稱加密算法,應(yīng)用rsa的時候一般需要公鑰與私鑰,但我們采用公鑰加密的時候,便使用私鑰解密;反之,采用私鑰加密的時候,便要使用公鑰進(jìn)行解密。
推薦度:
導(dǎo)讀java rsa加密是java中的一種非對稱加密算法,應(yīng)用rsa的時候一般需要公鑰與私鑰,但我們采用公鑰加密的時候,便使用私鑰解密;反之,采用私鑰加密的時候,便要使用公鑰進(jìn)行解密。

java rsa加密是什么?讓我們一起來了解一下吧!

java rsa加密是java中的一種非對稱加密算法。非對稱加密是指加密密鑰與加密秘鑰不一樣。我們經(jīng)常看見的非對稱加密算法有兩種,分別是rsa和dsa。

?

應(yīng)用rsa的時候我們一般需要公鑰與私鑰,但我們采用公鑰加密的時候,便使用私鑰解密;反之,采用私鑰加密的時候,便要使用公鑰進(jìn)行解密。在java中,我們先應(yīng)用genkeypair()函數(shù)產(chǎn)生公鑰與私鑰同時保存在map集合里面。接著,我們以產(chǎn)生的公鑰對明文進(jìn)行加密。針對已加密的密文,我們再利用私鑰對其解密。

實(shí)戰(zhàn)演練,具體步驟如下:

package?rsademo;
?
import?javax.crypto.Cipher;
import?java.nio.charset.StandardCharsets;
import?java.security.*;
import?java.security.spec.PKCS8EncodedKeySpec;
import?java.security.spec.X509EncodedKeySpec;
import?java.util.Base64;
?
/**
?*?@author?一只鯊go
?*?@title?RSA_Test
?*?@CreateTime?2021-05-13
?*/
?
?
public?class?RSA_Algorithm?{
????private?PrivateKey?privateKey;
????private?PublicKey?publicKey;
????private?static?String?algorithm?=?"RSA";
????private?static?String?signAlgorithm?=?"MD5withRSA";
?
????public?RSA_Algorithm()?throws?NoSuchAlgorithmException?{
????????//生成密鑰對對象
????????KeyPairGenerator?keyPairGenerator?=?KeyPairGenerator.getInstance(algorithm);
????????//生成密鑰對
????????KeyPair?keyPair?=?keyPairGenerator.generateKeyPair();
????????//生成公鑰
????????this.publicKey?=?keyPair.getPublic();
????????//生成私鑰
????????this.privateKey?=?keyPair.getPrivate();
?
?
????}
?
????/**
?????*?公鑰字符串還原為公鑰
?????*
?????*?@param?publicKeyString?公鑰字符串
?????*?@return?公鑰
?????*?@throws?Exception
?????*/
????public?Key?publicKeyStringToKey(String?publicKeyString)?throws?Exception?{
????????byte[]?publicBytes?=?Base64.getDecoder().decode(publicKeyString);
????????KeyFactory?keyFactory?=?KeyFactory.getInstance(algorithm);
????????PublicKey?publicKey?=?keyFactory.generatePublic(new?X509EncodedKeySpec(publicBytes));
????????return?publicKey;
????}
?
????/**
?????*?私鑰字符串還原為私鑰
?????*
?????*?@param?privateKeyString?私鑰字符串
?????*?@return?私鑰
?????*?@throws?Exception
?????*/
????public?PrivateKey?privateKeyStringToKey(String?privateKeyString)?throws?Exception?{
????????byte[]?privateBytes?=?Base64.getDecoder().decode(privateKeyString);
????????KeyFactory?keyFactory?=?KeyFactory.getInstance(algorithm);
????????PrivateKey?privateKey?=?keyFactory.generatePrivate(new?PKCS8EncodedKeySpec(privateBytes));
????????return?privateKey;
????}
?
????/**
?????*?返回公鑰字節(jié)數(shù)組
?????*
?????*?@return
?????*/
????public?byte[]?publicKeyEncoded()?{
????????return?this.publicKey.getEncoded();
????}
?
????/**
?????*?返回私鑰字節(jié)數(shù)組
?????*
?????*?@return
?????*/
????public?byte[]?privateKeyEncoded()?{
????????return?this.privateKey.getEncoded();
????}
?
????/**
?????*?公鑰byteToString轉(zhuǎn)碼
?????*
?????*?@return
?????*/
????public?String?publicKeyToString()?{
????????return?Base64.getEncoder().encodeToString(publicKeyEncoded());
????}
?
????/**
?????*?私鑰byteToString轉(zhuǎn)碼
?????*
?????*?@return
?????*/
????public?String?privateKeyToString()?{
????????return?Base64.getEncoder().encodeToString(privateKeyEncoded());
????}
?
????/**
?????*?公鑰加密
?????*
?????*?@param?input?????明文
?????*?@param?publicKey?公鑰
?????*?@return?密文字符串
?????*?@throws?Exception
?????*/
????public?String?pkEncoded(String?input,?String?publicKey)?throws?Exception?{
????????byte[]?bytes?=?input.getBytes(StandardCharsets.UTF_8);
????????Cipher?cipher?=?Cipher.getInstance(algorithm);
????????cipher.init(Cipher.ENCRYPT_MODE,?publicKeyStringToKey(publicKey));
????????byte[]?cipherText?=?cipher.doFinal(bytes);
????????return?Base64.getEncoder().encodeToString(cipherText);
????}
?
????/**
?????*?私鑰解密
?????*
?????*?@param?cipherText?密文
?????*?@param?privateKey?私鑰
?????*?@return?明文字符串
?????*?@throws?Exception
?????*/
????public?String?skDecoded(String?cipherText,?String?privateKey)?throws?Exception?{
????????byte[]?cipherbytes?=?Base64.getDecoder().decode(cipherText);
????????Cipher?cipher?=?Cipher.getInstance(algorithm);
????????cipher.init(Cipher.DECRYPT_MODE,?privateKeyStringToKey(privateKey));
????????byte[]?input?=?cipher.doFinal(cipherbytes);
????????return?new?String(input);
?
????}
?
????/**
?????*?數(shù)字簽名:私鑰加密
?????*
?????*?@param?signature??簽名明文字符串
?????*?@param?privateKey?私鑰字符串
?????*?@return?簽名字符串
?????*?@throws?Exception
?????*/
????public?String?skEncoded(String?signature,String?privateKey)?throws?Exception?{
????????Signature?signature1?=?Signature.getInstance(signAlgorithm);
????????signature1.initSign(privateKeyStringToKey(privateKey));
????????signature1.update(signature.getBytes(StandardCharsets.UTF_8));
????????byte[]?sign?=?signature1.sign();
????????return?Base64.getEncoder().encodeToString(sign);
????}
?
?????/**
?????*?判斷簽名:公鑰解密
?????*?@param?input
?????*?@param?signDate?簽名密文字符串
?????*?@param?publicKey?公鑰
?????*?@return?boolen
?????*?@throws?Exception
?????*/
????public?boolean?pkDecoded(String?input,String?signDate,String?publicKey)throws?Exception?{
?
????????Signature??signature?=?Signature.getInstance(signAlgorithm);
????????signature.initVerify(publicKeyStringToKey(publicKey));
????????signature.update(input.getBytes(StandardCharsets.UTF_8));
?
????????return?signature.verify(Base64.getDecoder().decode(signDate));
????}
?
}

?以上就是小編今天的分享了,希望可以幫助到大家。

文檔

java rsa加密

java rsa加密是java中的一種非對稱加密算法,應(yīng)用rsa的時候一般需要公鑰與私鑰,但我們采用公鑰加密的時候,便使用私鑰解密;反之,采用私鑰加密的時候,便要使用公鑰進(jìn)行解密。
推薦度:
為你推薦
資訊專欄
熱門視頻
相關(guān)推薦
java path java paypal java phoenix java ping java pipeline java rsa公鑰加密 java rsa私鑰加密 java rtp java runnable java runtime.exec java rxjava java sandbox java script java selector java selenium java semaphore java separator java sequence java serializable java serializable接口 java rotate java reverse java reverse() java retrofit java resume java resultset java result java rest java requests java partial java request java parser java repeat java parse java pandas java override java render java region java require java resolve
Top 亚洲国产第一站精品蜜芽_亚洲AV无码精品色午夜果冻不卡_国产香蕉九九久久精品免费_国产精品亚洲专区无码不卡
<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 久久偷看各类wc女厕嘘嘘偷窃| 乱码第一页成人| 国产精品夜夜夜| 久久久噜噜噜久久| 亚洲午夜精品久久久久久app| 国产一区二区电影在线观看| 欧美精品国产一区| 久久久精品国产免大香伊| 亚洲一区二区不卡免费| 91久久夜色精品国产网站| 国产综合色精品一区二区三区| 欧美日韩免费观看一区三区| 美女诱惑黄网站一区| 欧美一区免费视频| 香蕉久久夜色精品国产使用方法| 夜夜嗨av一区二区三区免费区| 一区二区亚洲欧洲国产日韩| 国产精品嫩草影院一区二区| 欧美视频第二页| 欧美日本国产视频| 亚洲精品网站在线播放gif| 亚洲第一福利视频| 1000精品久久久久久久久| 精品动漫3d一区二区三区免费| 国产日韩欧美精品一区| 国产精品一二三四区| 国产精品网站在线| 国产婷婷成人久久av免费高清 | 欧美紧缚bdsm在线视频| 美女啪啪无遮挡免费久久网站| 一二美女精品欧洲| 一本色道久久综合狠狠躁篇怎么玩| 亚洲理论电影网| 亚洲免费福利视频| 亚洲影院污污.| 欧美综合国产| 久久久蜜桃精品| 欧美成人自拍视频| 欧美精品久久天天躁| 麻豆成人综合网| 亚洲女人天堂成人av在线| 亚洲在线成人| 久久精品国产一区二区三区免费看| 久久国产视频网| 午夜在线一区二区| 久久偷看各类wc女厕嘘嘘偷窃| 老司机精品福利视频| 欧美精品一区三区| 亚洲香蕉网站| 久久成人18免费网站| 六月丁香综合| 欧美视频一区二区三区在线观看| 欧美视频精品在线| 国产亚洲精品成人av久久ww| 亚洲成人在线视频网站| 99国产精品视频免费观看| 午夜精品剧场| 免费在线播放第一区高清av| 国产精品第一区| 欧美日韩国产综合一区二区| 国产视频亚洲精品| 亚洲精品视频在线播放| 亚洲制服丝袜在线| 久久男人av资源网站| 欧美大成色www永久网站婷| 国产精品video| 亚洲国产高清视频| 亚洲欧美在线磁力| 美女日韩欧美| 国产一区二区三区无遮挡| 樱花yy私人影院亚洲| 一区二区免费在线观看| 久久综合色8888| 国产精品美女999| 91久久久亚洲精品| 欧美在线一级va免费观看| 欧美日韩国内| 激情婷婷久久| 亚洲自拍都市欧美小说| 久久国产黑丝| 国产精品盗摄一区二区三区| 亚洲激情不卡| 免费日本视频一区| 好看不卡的中文字幕| 午夜精品福利电影| 国产精品成人免费视频 | 久久黄色级2电影| 欧美三日本三级少妇三2023 | 国产精品久久久久久久久搜平片 | 亚洲午夜国产一区99re久久 | 亚洲国产日韩欧美| 狂野欧美激情性xxxx| 国产一区亚洲| 欧美专区第一页| 国产视频一区欧美| 欧美一级黄色录像| 国产日产亚洲精品| 欧美诱惑福利视频| 国产亚洲欧美另类中文| 欧美在线看片| 一区在线免费观看| 久久夜色撩人精品| 在线成人av网站| 欧美大片91| 一本色道久久综合亚洲精品按摩| 欧美精品久久久久久久久老牛影院| 亚洲精品国产品国语在线app| 欧美激情1区2区| 日韩视频中文字幕| 欧美日韩美女在线| 国产精品日本精品| 欧美一区二区三区啪啪| 国内精品嫩模av私拍在线观看| 久久久国产精品一区二区三区| 极品中文字幕一区| 欧美成人亚洲成人| 亚洲一区二区三区四区五区黄| 国产精品久久久久久久7电影| 欧美综合激情网| 亚洲国产毛片完整版| 欧美日韩中文字幕| 欧美在线精品一区| 亚洲人成网站精品片在线观看| 欧美视频中文字幕在线| 欧美在线网站| 亚洲精品影视在线观看| 国产嫩草一区二区三区在线观看| 久久精品免费播放| 夜夜爽99久久国产综合精品女不卡 | 国产一区二区三区免费不卡 | 美女成人午夜| 亚洲专区一区| 亚洲日本中文字幕区| 国产乱子伦一区二区三区国色天香| 久久免费视频网| 亚洲天堂免费观看| 在线激情影院一区| 国产精品女人久久久久久| 欧美18av| 久久久久久久网| 亚洲一区区二区| 亚洲精品久久在线| 国内视频一区| 国产精品网站一区| 欧美91视频| 久久久国产精品一区二区三区| 中国亚洲黄色| 日韩亚洲综合在线| 亚洲国产精品第一区二区| 国产色爱av资源综合区| 欧美破处大片在线视频| 美女爽到呻吟久久久久| 久久成人免费电影| 亚洲欧美日韩在线一区| 一区二区三区高清不卡| 亚洲欧洲另类国产综合| 国产午夜久久久久| 国产精品视频网址| 欧美视频在线一区二区三区| 欧美激情精品久久久久| 欧美成人精品激情在线观看| 麻豆免费精品视频| 久久综合电影一区| 久久久噜噜噜久久| 久久精品水蜜桃av综合天堂| 欧美在线免费一级片| 先锋影音网一区二区| 亚洲欧美日韩在线不卡| 午夜精品一区二区在线观看| 亚洲自拍三区| 欧美一区二区三区免费观看视频| 亚洲午夜精品久久| 亚洲一区二区三区高清不卡| 亚洲小少妇裸体bbw| 亚洲一区二区三区精品视频| 亚洲男人的天堂在线| 亚洲字幕一区二区| 性欧美8khd高清极品| 欧美在线视频观看| 久久综合999| 欧美精品三级日韩久久| 欧美日韩亚洲国产一区| 欧美三级日韩三级国产三级| 国产精品www| 国产伊人精品| 亚洲激情第一页| 一区二区高清在线观看| 国产精品久久久久久久免费软件 | 国产精品99久久久久久宅男 | 欧美在线播放| 久久综合网hezyo| 欧美日韩三级电影在线| 国产精品久久看| 娇妻被交换粗又大又硬视频欧美| 亚洲国产成人在线播放| 一区二区三区国产精华| 亚洲欧美在线一区二区| 久久综合色播五月| 国产精品久久综合| 亚洲第一级黄色片|