Dieser Artikel beschreibt den DSA -Algorithmus Digital Signature Java. Teilen Sie es für Ihre Referenz wie folgt weiter:
1. Einführung
DSS: Digital Signatur Standard
DSA: Digitaler Signaturalgorithmus digitaler Signaturalgorithmus
DSA enthält nur digitale Signaturen
2. Parameterbeschreibung
A. Code -Implementierung
Paket com.imooc.security.dsa; Import Java.security.KeyFactory; Import Java.Security.Keypair; Import Java.Security.KeypairGenerator; java.security.interfaces.dsaprivateKey; Import Java.security.Interfaces.dsapublickey; Import Java.security.spec.pkcs8EncodedKeyspec; Import Java.Security.Spec.X509CodedkeSpec; {private statische String src = "Cakin24 Sicherheit DSA"; public static void main (String [] args) {jdkdsa (); } public static void jdkdsa () {try {// 1. Initialisierungsschlüssel Keypairgenerator keypairgenerator = keypairgenerator.getInstance ("dsa"); tastypairgenerator.initialize (512); Tastatur Tastatur = Keypairgenerator.generateKeypair (); Dsapublickey dsapublickey = (dsapublickey) keypair.getPublic (); DsaprivateKey dsaprivateKey = (dsaprivateKey) keypair.getPrivate (); // 2. Führen Sie die Signature PKCS8EncodedKeySpec PKCS8EncodedKeySpec = New PKCS8EncodedKeySpec (dsaprivateKey.getEcoded ()) aus; KeyFactory keyFactory = keyFactory.getInstance ("DSA"); Privatekey privateKey = keyFactory.generatePrivate (PKCS8EncodedKeySpec); Signature Signature = Signature.getInstance ("SHA1Withdsa"); Signature.initsign (privatkey); Signature.Update (src.getBytes ()); Byte [] result = Signature.Sign (); System.out.println ("JDK DSA Sign:" + hex.encodEhexString (Ergebnis)); // 3. Überprüfen Sie den Signature x509EncodedKeySpec x509EncodedKeySpec = New X509EncodedKeySpec (dsapublickey.getEnoded ()); KeyFactory = KeyFactory.getInstance ("DSA"); PublicKey publicKey = keyFactory.generatePublic (x509CodedKeyspec); Signature = Signature.getInstance ("sha1Withdsa"); Signature.initverify (PublicKey); Signature.Update (src.getBytes ()); boolean bool = Signature.Verify (Ergebnis); System.out.println ("JDK DSA verifizieren:" + bool); } catch (Ausnahme e) {e.printstacktrace (); }}}4.. Erkennen Sie den Effekt
JDK DSA -Sign
JDK DSA verifizieren: wahr
5. Anwendungsszenarien
PS: Freunde, die an Verschlüsselung und Entschlüsselung interessiert sind, können sich auch auf die Online -Tools dieser Website beziehen:
Online -RSA -Verschlüsselungs-/Entschlüsselungswerkzeuge:
http://tools.vevb.com/password/rsa_encode
Text Online -Verschlüsselung und Entschlüsselung (einschließlich AES, DES, RC4 usw.):
http://tools.vevb.com/password/txt_encode
MD5 Online -Verschlüsselungstool:
http://tools.vevb.com/password/createmd5password
Online -Hash/Hash -Algorithmus -Verschlüsselungstool:
http://tools.vevb.com/password/hash_encrypt
Online MD5/Hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160-Verschlüsselungsinstrument:
http://tools.vevb.com/password/hash_md5_sha
Online SHA1/SHA224/SHA256/SHA384/SHA512 Verschlüsselungsinstrument:
http://tools.vevb.com/password/sha_encode
Weitere Informationen zu Java -verwandten Inhalten finden Sie in den Themen dieser Website: "Zusammenfassung der Java -Mathematischen Betriebsfähigkeiten", "Tutorial zu Java -Datenstrukturen und Algorithmen", "Zusammenfassung von Java -Zeichen und String -Operation -Fähigkeiten", "Zusammenfassung der Java -Operation DOM -Knotenfähigkeiten" und "Zusammenfassung der Fähigkeiten der Java -Operation Fähigkeiten"
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.