JAVA加密算法使用——密码学概述、JAVA相关密码学常用类
2018-02-10 20:54
513 查看
编程开发中,安全问题也是值得每个人思考的,所以打算写关于JAVA加密方面的blog,该博客就简单说说密码学的一些基本问题以及概念吧
2、密码学算法分类
3、密码学五元组、密钥与密码区别
4、对称密码与非对称密码区别
5、JAVA相关密码学的常用类
鉴别(发送方和接收方都能鉴别另一方的身份。也就是第三方无法冒充)
报文完整性(内容在运输过程没有被改变)
不可否认性
消息摘要:MD类、SHA类、MAC(消息验证码,在MD类与SHA类上增加了密钥的支持)
对称密码:DES、3DES、AES(对称密码的标准(最新),增加了密钥的长度)
非对称密码:RSA、DH密钥交换
数字签名:RSASignature(基于RSA)、DSASignature(基于DSA)
密文
加密算法
解密算法
密钥(安全性依赖于密钥)
现在基本上加密算法解密算法都是公开的。因为那些被公认为强度大的加密算法才值得使用
说到密钥,就说说密钥和密码的区别吧。网上有种解释挺形象的:
比如密码是2,1 4,5
即找到一个对应的
c11d
密码本,找到在书中的第二页第一个字,和第四页第五个字完成解密。而这本是就是密钥,几行第几个字这就是规则。所以密码=密钥+规则
非对称密码(公钥密码):加解密使用不同的密钥————公钥和私钥(这里公钥与私钥区别不再阐述)
BASE64Decoder(解码)
SecretKey(存储密钥)
Cipher(加解密功能)
KeyFactory(密钥工厂)
KeyPair(密钥对)
PublicKey(公钥)
PrivateKey(私钥)
Cipher(加解密功能)
该篇博客目录
1、密码学四大功能、基本模型2、密码学算法分类
3、密码学五元组、密钥与密码区别
4、对称密码与非对称密码区别
5、JAVA相关密码学的常用类
一、密码学四大功能、基本模型
1、四大功能
机密性鉴别(发送方和接收方都能鉴别另一方的身份。也就是第三方无法冒充)
报文完整性(内容在运输过程没有被改变)
不可否认性
2、基本模型
二、密码学算法分类
消息编程:Base64消息摘要:MD类、SHA类、MAC(消息验证码,在MD类与SHA类上增加了密钥的支持)
对称密码:DES、3DES、AES(对称密码的标准(最新),增加了密钥的长度)
非对称密码:RSA、DH密钥交换
数字签名:RSASignature(基于RSA)、DSASignature(基于DSA)
三、密码学五元组
明文密文
加密算法
解密算法
密钥(安全性依赖于密钥)
现在基本上加密算法解密算法都是公开的。因为那些被公认为强度大的加密算法才值得使用
说到密钥,就说说密钥和密码的区别吧。网上有种解释挺形象的:
比如密码是2,1 4,5
即找到一个对应的
c11d
密码本,找到在书中的第二页第一个字,和第四页第五个字完成解密。而这本是就是密钥,几行第几个字这就是规则。所以密码=密钥+规则
四、对称密码与非对称密码区别
对称密码(传统密码):加解密使用相同密钥的密码体制非对称密码(公钥密码):加解密使用不同的密钥————公钥和私钥(这里公钥与私钥区别不再阐述)
五、JAVA相关密码学的常用类
1、消息编码
BASE64Encoder(编码)BASE64Decoder(解码)
2、消息摘要
MessageDigest3、对称密码
KeyGenerator(密钥生成器)SecretKey(存储密钥)
Cipher(加解密功能)
4、非对称密码
KeyPairGenerator(密钥生成器——公钥与私钥)KeyFactory(密钥工厂)
KeyPair(密钥对)
PublicKey(公钥)
PrivateKey(私钥)
Cipher(加解密功能)
5、数字签名
Signature相关文章推荐
- JAVA加密算法- 密码学概述及使用一
- 使用java正则表达式寻找密码
- 正则表达式概述及在JAVA中的使用
- JAVA常用类的使用方法
- java常用类的使用方法
- JAVA常用类的使用方法
- 非java.util.zip,使用ant.jar制作zip压缩文件,以及相关中文解决方法
- JAVA NIO异步通信框架MINA选型和使用的几个细节(概述入门,UDP, 心跳)
- 在Linux下使用eclipse时弹出与“secure storage”相关的密码输入框如何去除
- Java正则式的相关实例(2)—使用JavaAPI
- 使用java程序读取配置文件中的相关属性值-asp.net关注
- 配置----Hibernate可配置的编程方式,驱动、URL、数据库访问岁用户名、密码等用使用Java代码手动加载!
- Eclipse Java EE IDE 中使用Tomcat 5X / 6X 的一些问题(配置,发布相关)
- JAVA常用类的使用方法
- JAVA常用类的使用方法
- 使用Java开发和信息安全相关的程序(CA)
- Java swing 相关: Using Top-Level Containers(使用最上层容器)
- Java日期相关类的使用
- Java正则式的相关实例(1)—使用第三方包
- JAVA常用类的使用方法