真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中怎么實(shí)現(xiàn)一個(gè)RSA數(shù)字簽名算法

Java中怎么實(shí)現(xiàn)一個(gè)RSA數(shù)字簽名算法,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都網(wǎng)站建設(shè)、網(wǎng)站制作、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊(duì)十多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

一 背景介紹

數(shù)字簽名:帶有密鑰(公鑰、私鑰)的消息摘要算法。驗(yàn)證數(shù)據(jù)完整性、認(rèn)證數(shù)據(jù)來源、抗否認(rèn)。私鑰簽名、公鑰驗(yàn)證。常用算法:RSA、DSA、ECDSA

二 RSA介紹

包括MD和SHA兩類

三 Java代碼實(shí)現(xiàn)

package com.imooc.security.rsa2;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;import java.security.Signature;import java.security.interfaces.RSAPrivateKey;import java.security.interfaces.RSAPublicKey;import java.security.spec.PKCS8EncodedKeySpec;import java.security.spec.X509EncodedKeySpec;import org.apache.commons.codec.binary.Hex;public class ImoocRSA {    private static String src = "cakin 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();            //2.執(zhí)行簽名            PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(rsaPrivateKey.getEncoded());            KeyFactory keyFactory = KeyFactory.getInstance("RSA");            PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec);            Signature signature = Signature.getInstance("MD5withRSA");            signature.initSign(privateKey);            signature.update(src.getBytes());            byte[] result = signature.sign();            System.out.println("jdk rsa sign : " + Hex.encodeHexString(result));            //3.驗(yàn)證簽名            X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(rsaPublicKey.getEncoded());            keyFactory = KeyFactory.getInstance("RSA");            PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);            signature = Signature.getInstance("MD5withRSA");            signature.initVerify(publicKey);            signature.update(src.getBytes());            boolean bool = signature.verify(result);            System.out.println("jdk rsa verify : " + bool);        } catch (Exception e) {            e.printStackTrace();        }    }}

四 實(shí)現(xiàn)效果

jdk rsa sign : 64b62967438d05f8f9837a089aaecd3b1379fd8eef89b924632536deb95d94d8389da456014ee953a1ac1befe44612c61b750b48c8574b98a9855a07a724e7e4jdk rsa verify : true

關(guān)于Java中怎么實(shí)現(xiàn)一個(gè)RSA數(shù)字簽名算法問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


網(wǎng)頁標(biāo)題:Java中怎么實(shí)現(xiàn)一個(gè)RSA數(shù)字簽名算法
URL分享:http://weahome.cn/article/gjojdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部