数字签名--ECDSA实现

来源:互联网 发布:漫威英雄排名 知乎 编辑:程序博客网 时间:2024/05/20 10:12

和RSA与DSA代码基本一样,ECDSA只是改了几个小地方,提示一下,DSA只有数据加密功能,而没有数据通信功能,但是RSA都有。

代码:

package Signature;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.ECPrivateKey;import java.security.interfaces.ECPublicKey;import java.security.spec.PKCS8EncodedKeySpec;import java.security.spec.X509EncodedKeySpec;public class ECDSA {private static String ecdsa = "CYK";public static void main(String[] args) {jdkECDSA();}public static void jdkECDSA() {try {//1.初始化秘钥KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");keyPairGenerator.initialize(256);KeyPair keyPair = keyPairGenerator.generateKeyPair();ECPublicKey ecPublicKey = (ECPublicKey)keyPair.getPublic();ECPrivateKey ecPrivateKey = (ECPrivateKey)keyPair.getPrivate();//2.执行签名PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(ecPrivateKey.getEncoded());KeyFactory keyFactory = KeyFactory.getInstance("EC");PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec);Signature signature = Signature.getInstance("SHA1withECDSA");signature.initSign(privateKey);signature.update(ecdsa.getBytes());byte[] result = signature.sign();System.out.println("jdk ecdsa sign:" + result);//3.验证签名X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(ecPublicKey.getEncoded());keyFactory = KeyFactory.getInstance("EC");PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);signature = Signature.getInstance("SHA1withECDSA");signature.initVerify(publicKey);signature.update(ecdsa.getBytes());boolean bool = signature.verify(result);System.out.println("jdk ecdsa verift:" + bool);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 ymt 老公不在时被公公簊田步一美3 一畦春韭绿 一畦春韭绿十里稻花香 畦读音 畦的读音 一畦春韭绿下一句 畦春韭绿 一畦 一畦春韭 畦怎么读 一畦拼音 花木成畦手自栽上一句 一畦春韭绿读音 畦拼音 畦的拼音 池畦的拼音 畦组词 一畦是什么意思 一畦春韭绿 十里稻花香 一畦春韭绿的下一句是什么 一畦春韭绿十里稻花香的意思 畦怎么读音 畦的意思 花木成畦手自栽 抱瓮灌畦 畦灌 什么畦春韭绿 池畦的意思 香花畦家园 花木成畦手自栽全诗 陈子畦 什么畦什么韭绿什么稻花香 中华一番 不经一番寒彻骨 决对一番 一番 一龙播求三番战 中华一番第二部 一番什么意思