第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

封裝簽名和驗(yàn)簽兩個(gè)方法驗(yàn)證不成功

// 簽名方法

public static String jdkRSASign(String src) {

String result = null;// 簽名結(jié)果

try {

// 1.初始化秘鑰

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");

keyPairGenerator.initialize(512);

KeyPair keyPair = keyPairGenerator.generateKeyPair();

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("UTF-8"));

result = new String(signature.sign(),"UTF-8");

} catch (Exception e) {

e.printStackTrace();

}


return result;

}


// 驗(yàn)簽名方法

public static boolean jdkRSACheck(String src, String sign) {

boolean result = false;

try {

// 1.初始化秘鑰

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");

keyPairGenerator.initialize(512);

KeyPair keyPair = keyPairGenerator.generateKeyPair();

RSAPublicKey rsaPublicKey = (RSAPublicKey) keyPair.getPublic();// 公鑰


// 2.驗(yàn)證簽名

X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(rsaPublicKey.getEncoded());

KeyFactory keyFactory = KeyFactory.getInstance("RSA");

PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);

Signature signature = Signature.getInstance("MD5withRSA");

signature.initVerify(publicKey);

signature.update(src.getBytes("UTF-8"));

result = signature.verify(sign.getBytes("UTF-8"));

} catch (Exception e) {

e.printStackTrace();

}


return result;

}


正在回答

1 回答

package com.dhs.test;


import java.security.KeyFactory;

import java.security.KeyPair;

import java.security.KeyPairGenerator;

import java.security.NoSuchAlgorithmException;

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.bouncycastle.util.encoders.Hex;


public class RSATest {

public static final String SRC_STRING = "fdsfsfsfsfd";

public static void main(String[] args) {

try {

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");

keyPairGenerator.initialize(512);

KeyPair keyPair = keyPairGenerator.generateKeyPair();

RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate();// 私鑰

RSAPublicKey rsaPublicKey = (RSAPublicKey) keyPair.getPublic();// 公鑰

String sign = jdkRSASign(rsaPrivateKey, SRC_STRING);

System.out.println("sign:"+sign);

boolean bool = jdkRSACheck(rsaPublicKey, SRC_STRING, sign);

System.out.println(bool);

} catch (NoSuchAlgorithmException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

// 簽名方法

public static String jdkRSASign(RSAPrivateKey rsaPrivateKey, String src) {

String result = null;// 簽名結(jié)果

try {

// 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("UTF-8"));

result = Hex.toHexString(signature.sign());

} catch (Exception e) {

e.printStackTrace();

}


return result;

}


// 驗(yàn)簽名方法

public static boolean jdkRSACheck(RSAPublicKey rsaPublicKey, String src, String sign) {

boolean result = false;

try {

// 2.驗(yàn)證簽名

X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(

rsaPublicKey.getEncoded());

KeyFactory keyFactory = KeyFactory.getInstance("RSA");

PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);

Signature signature = Signature.getInstance("MD5withRSA");

signature.initVerify(publicKey);

signature.update(src.getBytes("UTF-8"));

result = signature.verify(Hex.decode(sign));

} catch (Exception e) {

e.printStackTrace();

}


return result;

}

}


1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

封裝簽名和驗(yàn)簽兩個(gè)方法驗(yàn)證不成功

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號