国产精品亚洲AV三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品

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

視頻號(hào)
視頻號(hào)

抖音
抖音

快手
快手

微博
微博

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

java rsa加密

文檔

java rsa加密

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

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

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

?

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

實(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?{
????????//生成密鑰對(duì)對(duì)象
????????KeyPairGenerator?keyPairGenerator?=?KeyPairGenerator.getInstance(algorithm);
????????//生成密鑰對(duì)
????????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中的一種非對(duì)稱加密算法,應(yīng)用rsa的時(shí)候一般需要公鑰與私鑰,但我們采用公鑰加密的時(shí)候,便使用私鑰解密;反之,采用私鑰加密的時(shí)候,便要使用公鑰進(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三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品
<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 国产精品麻豆成人av电影艾秋| 亚洲婷婷在线| 欧美精品啪啪| 欧美中文字幕视频在线观看| 亚洲精品乱码久久久久久| 国产手机视频精品| 国产精品人成在线观看免费| 欧美激情欧美狂野欧美精品| 久久久久一区二区三区四区| 亚洲男人第一网站| 亚洲深夜福利网站| 一区二区三区视频在线观看| 91久久亚洲| 亚洲片在线资源| 亚洲国产aⅴ天堂久久| 国产午夜亚洲精品不卡| 国产精品视频一区二区三区| 欧美日韩中文另类| 欧美精品一区三区在线观看| 欧美激情在线有限公司| 欧美高清不卡| 欧美日韩不卡| 欧美日韩精品免费| 欧美视频久久| 国产精品福利在线观看| 国产精品a久久久久久| 欧美色道久久88综合亚洲精品| 欧美日韩午夜| 欧美午夜在线观看| 国产乱码精品一区二区三区不卡 | 亚洲毛片网站| 亚洲美女区一区| 日韩亚洲国产精品| 亚洲天堂成人| 欧美一区二区精美| 久久亚洲国产精品日日av夜夜| 久久成人综合网| 久久综合狠狠综合久久综合88| 老**午夜毛片一区二区三区| 欧美国产一区二区在线观看 | 亚洲国产一区二区三区高清 | 亚洲日本中文字幕免费在线不卡| 亚洲欧洲一区二区三区久久| 一区二区三区国产在线| 亚洲欧美日韩一区二区三区在线观看| 午夜精品成人在线| 巨胸喷奶水www久久久免费动漫| 另类av一区二区| 欧美三级精品| 国产在线观看91精品一区| 在线免费观看日本一区| 一区二区三欧美| 欧美有码在线视频| 欧美极品一区| 欧美亚洲不卡| 在线播放精品| 亚洲欧美日本国产有色| 开心色5月久久精品| 国产精品成人免费精品自在线观看| 国产欧美日韩免费| 亚洲电影在线播放| 欧美亚洲免费电影| 欧美日韩国产999| 国产一区二区精品| 一区二区日韩精品| 久久久亚洲国产美女国产盗摄| 欧美日韩精品免费观看视一区二区 | 久久久久久久欧美精品| 欧美精品久久一区二区| 国产一级久久| 亚洲一区精品电影| 欧美巨乳在线| 亚洲国产三级| 久久久噜噜噜久久| 国产欧美一区二区精品性| 一区二区高清在线观看| 欧美freesex8一10精品| 国产一区二区精品久久99| 亚洲欧美经典视频| 欧美日韩精品中文字幕| 亚洲国产mv| 久久综合福利| 一区二区自拍| 久久色中文字幕| 极品日韩久久| 久久网站免费| 狠狠爱成人网| 久久国产欧美| 一区二区在线视频观看| 久久美女性网| 在线欧美视频| 欧美成人精品在线观看| 亚洲国产清纯| 欧美激情精品久久久六区热门| 亚洲大片精品永久免费| 狂野欧美激情性xxxx| 国内免费精品永久在线视频| 久久久精品日韩欧美| 激情久久久久久久| 麻豆freexxxx性91精品| 在线观看日韩一区| 欧美大片免费久久精品三p| 亚洲高清视频在线| 欧美区在线播放| 一区二区三区高清视频在线观看| 欧美午夜不卡视频| 午夜精品久久久久久久| 国内精品视频在线播放| 美女视频黄 久久| 亚洲人成网站在线播| 欧美精品国产一区二区| 一区二区三区偷拍| 国产免费观看久久| 久久综合色88| 日韩视频在线一区| 国产欧美成人| 免费中文字幕日韩欧美| 宅男噜噜噜66一区二区| 国产欧美在线看| 美女爽到呻吟久久久久| 亚洲视频一区在线观看| 国产在线精品一区二区中文| 欧美大片一区二区三区| 亚洲永久免费观看| 亚洲成在线观看| 国产精品剧情在线亚洲| 久久这里只有| 亚洲永久免费观看| 亚洲国产精品专区久久| 国产精品久久毛片a| 美女国产一区| 午夜视频一区在线观看| 亚洲欧洲日夜超级视频| 国产伦精品一区二区三区| 欧美电影免费观看高清完整版| 亚洲午夜久久久久久尤物| 在线不卡a资源高清| 国产精品久久一区主播| 欧美激情一区二区三区在线视频| 亚洲欧美日韩在线不卡| 亚洲精品在线免费观看视频| 国产一区二区三区日韩欧美| 欧美日韩免费一区二区三区视频| 久久久99久久精品女同性| 中文av一区特黄| 亚洲国产一区二区三区在线播| 国产精品亚洲激情| 欧美日韩国产精品一区| 欧美国产日韩精品| 久久亚洲私人国产精品va| 欧美一区二区三区在线| 亚洲视频日本| 99精品热6080yy久久| 在线观看av一区| 国产真实精品久久二三区| 国产精品国产三级国产aⅴ入口 | 久久九九99| 欧美一区二区三区四区视频| 亚洲欧美日韩国产中文| 99日韩精品| 日韩视频免费观看| 日韩午夜剧场| 亚洲人成毛片在线播放| 91久久夜色精品国产九色| 136国产福利精品导航网址应用 | 国产一区二区日韩精品欧美精品| 国产精品vip| 欧美性猛交xxxx乱大交蜜桃 | 99国产精品久久久| 亚洲卡通欧美制服中文| 亚洲乱码国产乱码精品精天堂| 91久久国产自产拍夜夜嗨| 亚洲精美视频| 一本久久知道综合久久| 在线一区欧美| 亚洲欧美一区二区三区久久| 亚洲专区欧美专区| 欧美在线免费视频| 久久日韩精品| 欧美精品一区二区久久婷婷| 欧美日韩国产美女| 国产精品人人做人人爽人人添| 国产欧美日韩精品丝袜高跟鞋| 国产毛片一区| 在线观看日产精品| 亚洲美女淫视频| 亚洲欧美激情四射在线日 | 国产精品一区二区三区四区 | 久久久久久午夜| 欧美黄色免费网站| 国产精品成人免费视频 | 国产午夜精品理论片a级大结局 | 欧美一区二区三区视频免费播放| 欧美与欧洲交xxxx免费观看| 狂野欧美一区| 欧美午夜精品久久久久久久 | 亚洲欧美第一页| 久久全球大尺度高清视频| 欧美激情亚洲激情| 国产日韩av一区二区|