java-信息安全(十)-签名002-数字签名算法DSA
2023-09-14 09:08:49 时间
一、概述
DSA算法(Digital Signature Algorithm,数据签名算法)
Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSfS(DigitalSignature Standard)。
DSA(Data Signature Algorithm)数字签名算法:DSA仅包含数字签名,不包含加解密
简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。如果数据和签名不匹配则认为验证失败!数字签名的作用就是校验数据在传输过程中不被修改。数字签名,是单向加密的升级!
1.1、算法分类
算法 | 密钥长度 | 默认长度 | 签名长度 | 实现的方 |
SHA1withDSA | 512-65536 (64的整数倍) |
1024 | 同密钥 | JDK8 |
SHA224withDSA | 同上 | 1024 | 同密钥 | JDK8 |
SHA256withDSA | ... | 1024 | 同密钥 | JDK8 |
SHA384withDSA | ... | 1024 | 同密钥 | BC |
SHA512withDSA | ... | 1024 | 同密钥 | BC |
jdk支持
list.add(JdkDsa.DSA);//==SHA1withDSA list.add(JdkDsa.SHA1withDSA); list.add(JdkDsa.SHA224withDSA); list.add(JdkDsa.SHA256withDSA);
1.2、签名示例
相关文章
- java除零异常_JAVA异常处理
- java语言的特点_Java语言有什么特点?
- java冒泡排序概练_Java的冒泡排序[通俗易懂]
- Java入门基础知识点总结(详细篇)
- 【测开技能】Java语言系列(一)Java入门
- java socket详解_Java Socket 编程原理及教程「建议收藏」
- java内部类和静态内部类区别_静态内部类对象的创建
- java 调用 dll动态库
- java 蛇形矩阵(算法)
- 【Android 安全】DEX 加密 ( Java 工具开发 | apk 文件对齐 )
- java简单的万年历详解编程语言
- Java使用正则表达式搜索文本内所有的email地址并打印出来详解编程语言
- Java多线程编程:变量共享分析(Thread)详解编程语言
- java文件上传基于ajaxFileUpload+struts2详解编程语言
- Java Connection.rollback()方法:事务回滚
- 持久化Java持久化技术与Redis高级应用(redis高级之java)
- Redis中Java缓存过期管理(redisjava过期)
- 备份Redis Java技术应用以实现过期性数据备份(redisjava过期)
- Java程序如何在Linux上顺利部署?快来了解一下!(java部署到Linux)
- 收购Oracle收购Java重新定义软件开发未来(java被oracle)
- Java学习的捷径
- java连接mysql数据库详细步骤解析
- 浅析java贪心算法