激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java數(shù)字簽名算法DSA實(shí)例詳解

Java數(shù)字簽名算法DSA實(shí)例詳解

2021-04-29 10:48chengqiuming Java教程

這篇文章主要介紹了Java數(shù)字簽名算法DSA,結(jié)合實(shí)例形式分析了Java數(shù)字簽名算法DSA具體定義與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了java數(shù)字簽名算法dsa。分享給大家供大家參考,具體如下:

一、介紹

dss:digital signature standard 數(shù)字簽名標(biāo)準(zhǔn)

dsa:digital signature algorithm 數(shù)字簽名算法

dsa僅包含數(shù)字簽名

二、參數(shù)說明

Java數(shù)字簽名算法DSA實(shí)例詳解

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.imooc.security.dsa;
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.dsaprivatekey;
import java.security.interfaces.dsapublickey;
import java.security.spec.pkcs8encodedkeyspec;
import java.security.spec.x509encodedkeyspec;
import org.apache.commons.codec.binary.hex;
public class imoocdsa {
  private static string src = "cakin24 security dsa";
  public static void main(string[] args) {
    jdkdsa();
  }
  public static void jdkdsa() {
    try {
      //1.初始化密鑰
      keypairgenerator keypairgenerator = keypairgenerator.getinstance("dsa");
      keypairgenerator.initialize(512);
      keypair keypair = keypairgenerator.generatekeypair();
      dsapublickey dsapublickey = (dsapublickey) keypair.getpublic();
      dsaprivatekey dsaprivatekey = (dsaprivatekey)keypair.getprivate();
      //2.執(zhí)行簽名
      pkcs8encodedkeyspec pkcs8encodedkeyspec = new pkcs8encodedkeyspec(dsaprivatekey.getencoded());
      keyfactory keyfactory = keyfactory.getinstance("dsa");
      privatekey privatekey = keyfactory.generateprivate(pkcs8encodedkeyspec);
      signature signature = signature.getinstance("sha1withdsa");
      signature.initsign(privatekey);
      signature.update(src.getbytes());
      byte[] result = signature.sign();
      system.out.println("jdk dsa sign : " + hex.encodehexstring(result));
      //3.驗(yàn)證簽名
      x509encodedkeyspec x509encodedkeyspec = new x509encodedkeyspec(dsapublickey.getencoded());
      keyfactory = keyfactory.getinstance("dsa");
      publickey publickey = keyfactory.generatepublic(x509encodedkeyspec);
      signature = signature.getinstance("sha1withdsa");
      signature.initverify(publickey);
      signature.update(src.getbytes());
      boolean bool = signature.verify(result);
      system.out.println("jdk dsa verify : " + bool);
    } catch (exception e) {
      e.printstacktrace();
    }
  }
}

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

jdk dsa sign : 302c0214310539f9e19ec98167a687eb4e8f91e7f47326bf021428080b7f0ad2ccffc71466998d8d364ba516e840
jdk dsa verify : true

五、應(yīng)用場(chǎng)景

Java數(shù)字簽名算法DSA實(shí)例詳解

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

原文鏈接:https://blog.csdn.net/chengqiuming/article/details/78762929

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 桥本有菜免费av一区二区三区 | 久久污 | 欧美性成人| 一区二区国产在线 | 中文字幕网站在线 | 国产精品爱久久久久久久 | 国产资源在线播放 | 女人一区二区三区 | 99精品视频99| 视频毛片 | 国产免费观看av | 午夜视频你懂的 | 欧美日韩免费一区二区三区 | 色的综合 | 欧产日产国产精品乱噜噜 | 精品成人免费一区二区在线播放 | 亚洲五码在线观看视频 | 玩偶姐姐在线观看免费 | 天天夜夜草 | 久久艹国产精品 | 欧美a在线播放 | 九九热视频在线免费观看 | 狠狠干视频网站 | 深夜福利视频绿巨人视频在线观看 | 毛片视频网站在线观看 | 久久久久性视频 | 成人精品| 精品影视一区二区 | 日产精品一区二区三区在线观看 | 黄色网址在线播放 | 久久精品视频7 | 悠悠成人资源亚洲一区二区 | 日日狠狠久久偷偷四色综合免费 | 激情宗合| 日本欧美国产 | 曰韩毛片 | 午夜精品一区二区三区免费 | 久久不雅视频 | omofun 动漫在线观看 | 免费看黄色三级毛片 | 国av在线|