亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

黑體那一句為什么總是報錯?謝謝回答

package imoocECDA;


import java.awt.HeadlessException;

import java.security.KeyFactory;

import java.security.KeyPair;

import java.security.KeyPairGenerator;

import java.security.KeyStore.PrivateKeyEntry;

import java.security.PrivateKey;

import java.security.PublicKey;

import java.security.Signature;

import java.security.interfaces.ECPrivateKey;

import java.security.interfaces.ECPublicKey;

import java.security.spec.ECPrivateKeySpec;

import java.security.spec.PKCS8EncodedKeySpec;

import java.security.spec.X509EncodedKeySpec;


import javax.xml.bind.annotation.adapters.HexBinaryAdapter;


public class ImoocECDSA {

private static String src="imooc security ecdsa";


public static void main(String[] args) {

jdkECDSA();

}

public static void jdkECDSA(){

try {

//初始化密鑰

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

keyPairGenerator.initialize(256);

KeyPair keyPair = keyPairGenerator.generateKeyPair();

ECPublicKey ecPublicKey=(ECPublicKey)keyPair.getPublic();

ECPrivateKey ecpPublicKey=(ECPrivateKey)keyPair.getPrivate();

//執行簽名

PKCS8EncodedKeySpec pkcs8EncodedKeySpec=new PKCS8EncodedKeySpec(ecpPublicKey.getEncoded());

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

PrivateKey privateKey=keyFactory.generatePrivate(pkcs8EncodedKeySpec);

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

signature.initSign(privateKey);

signature.update(src.getBytes());

byte[] result=signature.sign();

System.out.println("jdk ecdsa sign:"+Hex.encodeHexString(result));

//驗證

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

keyFactory=KeyFactory.getInstance("EC");

PublicKey publicKey=keyFactory.generatePublic(x509EncodedKeySpec);

signature.initVerify(publicKey);

signature.update(src.getBytes());

boolean bool=signature.verify(result);

System.out.println("jdk ecdsa verify:"+bool);

} catch (Exception e) {

e.printStackTrace();

}

}

}

黑體那一句為什么總是報錯?謝謝回答

正在回答

2 回答

留個記號??????? 啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾啾

1 回復 有任何疑惑可以回復我~

System.out.println("jdk ecdsa sign:"+Hex.encodeHexString(result));




0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

黑體那一句為什么總是報錯?謝謝回答

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號