Artikel ini menjelaskan Algoritma DSA Tanda Tangan Digital Java. Bagikan untuk referensi Anda, sebagai berikut:
1. Pendahuluan
DSS: Standar Tanda Tangan Digital
DSA: Algoritma Digital Signature Digital Digital Algorithm
DSA hanya berisi tanda tangan digital
2. Deskripsi parameter
3. Implementasi Kode
Paket com.imooc.security.dsa; impor java.security.keyfactory; impor java.security.keypair; impor java.security.keypairgenerator; impor java.security.privingkey; impor java.security.publickey; impor java.security. java.security.interfaces.dsapublickey; impor java.security.spec.pkcs8encodedkeyspec; impor java.security.spec.x509encodedkeyspec; impor org.apache.commons.codec.binary public static void main (string [] args) {jdkdsa (); } public static void JDKDSA () {coba {// 1. Inisialisasi kunci keypairgenerator keypairgenerator = keypairgenerator.getInstance ("DSA"); keypairgenerator.initialize (512); Keypair keypair = keypairgenerator.generatePeyPair (); Dsapublickey dsapublickey = (dsapublickey) keypair.getpublic (); DsaprivateKey dsaprivateKey = (dsaprivateKey) keypair.getPrivate (); // 2. Jalankan PKCS8EncodedKeySpec PKCS8EncodEyspec = new PKCS8EncodedKeySpec baru (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 [] hasil = Signature.sign (); System.out.println ("tanda JDK DSA:" + hex.encodehexstring (hasil)); // 3. Verifikasi tanda tangan X509EncodedKeySpec X509EncodedKeyspec = X509EncodedKeySpec baru (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 (hasil); System.out.println ("JDK DSA Verifikasi:" + Bool); } catch (Exception e) {E.PrintStackTrace (); }}}4. Sadarilah efeknya
JDK DSA Tanda: 302c0214310539f9e19ec98167a687eb4e8f91e7f47326bf021428080b7f0ad2ccffc714698d8d8d364ba516e840
JDK DSA Verifikasi: Benar
5. Skenario Aplikasi
PS: Teman yang tertarik dengan enkripsi dan dekripsi juga dapat merujuk pada alat online dari situs ini:
Alat enkripsi/dekripsi RSA online:
http://tools.vevb.com/password/rsa_encode
Teks Enkripsi Online dan Alat Dekripsi (termasuk AES, DES, RC4, dll.):
http://tools.vevb.com/password/txt_encode
Alat Enkripsi Online MD5:
http://tools.vevb.com/password/createMd5password
Alat Enkripsi Algoritma Hash/Hash Online:
http://tools.vevb.com/password/hash_encrypt
Online MD5/Hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 Alat Enkripsi:
http://tools.vevb.com/password/hash_md5_sha
Online SHA1/SHA224/SHA256/SHA384/SHA512 Alat Enkripsi:
http://tools.vevb.com/password/sha_encode
For more information about Java related content, please check out the topics of this site: "Summary of Java Mathematical Operation Skills", "Tutorial on Java Data Structures and Algorithms", "Summary of Java Characters and String Operation Skills", "Summary of Java Operation DOM Node Skills" and "Summary of Java Cache Operation Skills"
Saya harap artikel ini akan membantu pemrograman Java semua orang.