欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

創(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ù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊十多年專注互聯(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)一個RSA數(shù)字簽名算法問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

標(biāo)題名稱:Java中怎么實(shí)現(xiàn)一個RSA數(shù)字簽名算法
文章來源:http://chinadenli.net/article10/gjojdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司品牌網(wǎng)站建設(shè)電子商務(wù)Google移動網(wǎng)站建設(shè)商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作