java dsa加密与解密_Java DSA 加密 | 解密
Java DSA 加密 | 解密
什么是DSA ?
DSA (Digital Signature Algorithm) 是 Schnorr 和 ElGamal 签名算法的变种,被美国 NIST 作为 DSS (DigitalSignature Standard)。 DSA 是基于整数有限域离散对数难题的。
简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名,如果数据和签名不匹配则认为验证失败。数字签名的作用就是校验数据在传输过程中不被修改,数字签名,是单向加密的升级。
DSA 加密、解密代码示例
public class DSAUtils {
public static void main(String[] args) throws Exception {
String data = "pangugle";
// 创建秘钥生成器
KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");
kpg.initialize(512);
KeyPair keypair = kpg.generateKeyPair();// 生成秘钥对
DSAPublicKey publickey = (DSAPublicKey) keypair.getPublic();
DSAPrivateKey privatekey = (DSAPrivateKey) keypair.getPrivate();
// 签名和验证
// 签名
Signature sign = Signature.getInstance("SHA1withDSA");
sign.initSign(privatekey);// 初始化私钥,签名只能是私钥
sign.update(data.getBytes());// 更新签名数据
byte[] b = sign.sign();// 签名,返回签名后的字节数组
// 验证
sign.initVerify(publickey);// 初始化公钥,验证只能是公钥
sign.update(data.getBytes());// 更新验证的数据
boolean result = sign.verify(b);// 签名和验证一致返回true 不一致返回false
System.out.println(result);
}
}
运行结果为
true
java dsa加密与解密_Java DSA 加密 | 解密相关推荐
- java 字符串加密 解密_java字符串加密解密
java字符串加密解密 try { String test = "123456789@fdj.com"; EncryptionDecryption des = new Encryp ...
- java md5加密解密_java MD5加密解密 | 学步园
package com.md5; /** * @author 作者 E-mail: chenshaohua2012@126.com * @version 创建时间:2012-11-6 下午3:29:4 ...
- java 加密 c 解密_java处理加密文件---RSA加密和解密
public class RSA { public static void main(String []args)throws Exception { String ptext = "he& ...
- java exchange 数字证书认证_java处理加密文件---数字证书文件格式(cer和pfx)的区别 - 数安时代(GDCA)SSL证书官网...
java处理加密文件中常见的两种数字证书文件格式(cer和pfx) 数字证书文件格式(cer和pfx)的区别 1.带有私钥的证书 由Public Key Cryptography Standards ...
- java aes 256 ecb解密_Java AES 256 解密
题目描述 我用JAVA在實行解密,參考了c#的範例,加密沒有問題 KEY和IV都是相同的 题目来源及自己的思路 相关代码 JAVA的代碼public static String decrypt(Str ...
- java base64 加解密_java Base64加解密
import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Util { public stati ...
- java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法
java实现md5加密解密 notNET中加密和解密的实现方法 亦或是旅途风光 7-14 1918℃ 22 [ ee21.cn - ASP.NET ] .NET将原来独立的API和SDK合并到一个框架 ...
- java string 加密_java字符串加密解密
java字符串加密解密 try { String test = "123456789@fdj.com"; EncryptionDecryption des = new Encryp ...
- java md5 16位解密_Java实现MD5(32/16位)大小写加密
MD5简单介绍 大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法:与之类似,MD5就可以为任何文件(不管其大小.格式.数量)产生一个同样独一无二的&quo ...
最新文章
- python3 List 中的字符串合并
- 干货 | 携程度假无线前端架构演进之路
- mkenvimage
- [Xcode 实际操作]七、文件与数据-(17)解析JSON文档
- 阿里巴巴 Arthas 3.1.5版本支持火焰图,快速定位应用热点
- 华兴数控g71外圆循环编程_数控车床加工时的复合循环指令G70,G71,G72,G73
- Cobar-Client 实现策略总结
- 腾讯云刘颖:与微信共建小程序开发者生态,让小程序开发更简单
- 一步步优化JVM四:决定Java堆的大小以及内存占用
- 12306分流抢票软件 v1.13.21官方版 -抢票神器
- java输入法中手写文字的识别_在线手写识别
- FS5175AESOP8多串锂电池同步降压充电IC
- 雨水情测报系统+智慧水库大坝安全监测系统
- C++文件读取的四种方式
- compareTo()和compare()的详解和区别
- 基于Java毕业设计学习自律养成小程序后台源码+系统+mysql+lw文档+部署软件
- lg空调代码大全解决_lg空调故障代码是什么意思 lg空调故障代码大全【详解】...
- Glamhive创始人Stephanie Sprangers与明星造型师Johnny Wujek和Nicole Chavez、明星发型师Andrew Fitzsimons和时尚影响者Claire Su
- 前端七十二变之vue.js组件开发
- 实现婚恋交友app源码的屏幕适配,需要知道哪些
热门文章
- LDC个人技术博客上线
- Hadoop学习之SSH免密登录配置(以三台虚拟机为例,完全分布式)
- 狂神redis笔记_狂神说redis笔记(三)
- wps的高亮怎么用_WPS表格高亮显示重复项功能的使用及其不足介绍与改进
- 众筹系统源码 java_基于JavaWeb的创意众筹网站系统的设计与实现 毕业论文+任务书+开题报告+外文翻译+设计源码+mysql文件...
- 【BZOJ3698】XWW的难题 有上下界的最大流
- numpy 学习汇总18.2 - 数学运算( 基础学习 tcy)
- 猴子选大王 java_猴子选大王(java求解) | 学步园
- python泰坦尼克号数据分析_Python数据分析|泰坦尼克逻辑回归
- 时间管理的基础是精力管理