В этой статье описывается алгоритм Java Digital Signature DSA. Поделитесь этим для вашей ссылки, следующим образом:
1. Введение
DSS: стандарт цифровой подписи
DSA: Алгоритм цифровой подписи цифровой алгоритм подписи
DSA содержит только цифровые подписи
2. Описание параметра
3. Реализация кода
пакет com.imooc.security.dsa; импорт java.security.keyfactory; import java.security.keypair; import java.security.keypairgenerator; импорт java.security.privatekey; импорт java.security.publickey; import.security. java.security.interfaces.dsapublickey; import java.security.spec.pkcs8encodedkeyspec; import java.security.spec.x509encodkeyspec; import org.apache.commons.codec.binary.hex; public classa joocdsa {private strics srcain4; public static void main (string [] args) {jdkdsa (); } public static void jdkdsa () {try {// 1. Ключ KeyPairgenerator KeyPairgenerator = KeyPairGenerator.GetInstance ("DSA"); keypairgenerator.initialize (512); Клавиша клавиши = KeyPairGenerator.GenerateKeyPair (); Dsapublickey dsapublickey = (dsapublickey) keypair.getpublic (); Dsaprivatekey dsaprivatekey = (dsaprivatekey) keypair.getPrivate (); // 2. Выполнить подпись pkcs8encodedkeyspec pkcs8encodedkeyspec = new pkcs8encodkeyspec (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 Знак:" + hex.encodehexstring (result)); // 3. Проверьте подпись x509encodedkeyspec x509encodedkeyspec = new x509encodkeyspec (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 проверка:" + bool); } catch (Exception e) {e.printstackTrace (); }}}4. осознайте эффект
JDK DSA Знак: 302C0214310539F9E19EC98167A687EB4E8F91E7F47326BF021428080B7F0AD2CFFC71466998D364BA516E840
JDK DSA проверить: true
5. Сценарии приложения
PS: друзья, которые заинтересованы в шифровании и дешифровании, также могут относиться к онлайн -инструментам этого сайта:
Инструменты онлайн -шифрования/дешифрования онлайн:
http://tools.vevb.com/password/rsa_encode
Текст инструментов для шифрования и дешифрования в Интернете (включая AES, DES, RC4 и т. Д.):
http://tools.vevb.com/password/txt_encode
Инструмент онлайн -шифрования MD5:
http://tools.vevb.com/password/createmd5password
Инструмент по шифрованию хэша/хэш -хэш -хэша:
http://tools.vevb.com/password/hash_encrypt
Онлайн MD5/HASH/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 Инструмент шифрования:
http://tools.vevb.com/password/hash_md5_sha
Онлайн SHA1/SHA224/SHA256/SHA384/SHA512 Инструмент шифрования:
http://tools.vevb.com/password/sha_encode
Для получения дополнительной информации о контенте, связанном с Java, пожалуйста, ознакомьтесь с темами этого сайта: «Сводка навыков математической операции Java», «Учебное пособие по структурам данных и алгоритмам Java», «Сводка символов Java и навыки операции по обращению», «Сводка операции Java Operation Dom Node» и «Сводка операции Java Cache», «Сводка операции Java Dom Node» и «Сютовая операция Java Cache», «Сводка
Я надеюсь, что эта статья будет полезна для всех Java Programming.