Java实现加解密(二)之消息摘要算法加密
2017-10-13 00:00
495 查看
摘要: Java加解密系列的第二篇学习笔记,主要包括在Java中使用MD、SHA、MAC三种消息摘要算法实现加解密,以及他们的应用场景。
一、消息摘要算法
1.分类
MD(Message Digest) 消息摘要
SHA(Secure Hash Algorithm) 安全哈希算法
MAC(Message Authentication Code) 消息认证码
2.作用
验证数据完整性
数字签名核心算法
二、消息摘要算法——MD
1.MD5
2.MD家族(128位摘要信息)
MD2 128位 JDK实现
MD4 128位 Bouncy Castle实现
MD5 128位 JDK实现
3.应用,比如用户注册,密码存储摘要处理后的密文
4.代码实现,可参考本人码云项目:https://gitee.com/kevinshaw/Security 的MyMD类
三、消息摘要算法——SHA
1.概述,由美国安全局设计
安全散列码算法
固定长度摘要信息
SHA-1、SHA-2(SHA-224、SHA-256、SHA384、SHA-512)
SHA-1 160位 JDK实现
SHA-224 224位 Bouncy Castle实现
SHA-256 256位 JDK实现
SHA-384 384位 JDK实现
SHA-512 512位 JDK实现
2.应用:防止传输过程中消息的篡改
3.代码实现,可参考本人码云项目:https://gitee.com/kevinshaw/Security 的MySHA类
四、消息摘要算法——MAC 兼容了MD和SHA两种算法的特性,并且在此基础上加入密钥
1.分类
MAC(Message Authentication Code) 消息认证码
HMAC(keyed-Hash Message Authentication Code) 含有密钥的散列函数算法
融合MD、SHA
--MD系列:HmacMD2: 128位 Bouncy Castle实现
HmacMD4: 128位 Bouncy Castle实现
HmacMD5: 128位 JDK实现
--SHA系列:HmacSHA1: 160位 JDK实现
HmacSHA224: 224位 Bouncy Castle实现
HmacSHA256: 256位 JDK实现
HmacSHA384: 384位 JDK实现
HmacSHA512: 512位 JDK实现
2.应用:如SecuresCRT,Linux操作系统的客户端
3.代码实现,可参考本人码云项目:https://gitee.com/kevinshaw/Security 的MyHmac类
五、其他的消息摘要算法
RipeMD
Tiger
Whirlpool
GOST3411
以上均由Bouncy Castle进行实现
本文为原创文章,如果对你有一点点的帮助,别忘了点赞哦!比心!如需转载,请注明出处,谢谢!
一、消息摘要算法
1.分类
MD(Message Digest) 消息摘要
SHA(Secure Hash Algorithm) 安全哈希算法
MAC(Message Authentication Code) 消息认证码
2.作用
验证数据完整性
数字签名核心算法
二、消息摘要算法——MD
1.MD5
2.MD家族(128位摘要信息)
MD2 128位 JDK实现
MD4 128位 Bouncy Castle实现
MD5 128位 JDK实现
3.应用,比如用户注册,密码存储摘要处理后的密文
4.代码实现,可参考本人码云项目:https://gitee.com/kevinshaw/Security 的MyMD类
三、消息摘要算法——SHA
1.概述,由美国安全局设计
安全散列码算法
固定长度摘要信息
SHA-1、SHA-2(SHA-224、SHA-256、SHA384、SHA-512)
SHA-1 160位 JDK实现
SHA-224 224位 Bouncy Castle实现
SHA-256 256位 JDK实现
SHA-384 384位 JDK实现
SHA-512 512位 JDK实现
2.应用:防止传输过程中消息的篡改
3.代码实现,可参考本人码云项目:https://gitee.com/kevinshaw/Security 的MySHA类
四、消息摘要算法——MAC 兼容了MD和SHA两种算法的特性,并且在此基础上加入密钥
1.分类
MAC(Message Authentication Code) 消息认证码
HMAC(keyed-Hash Message Authentication Code) 含有密钥的散列函数算法
融合MD、SHA
--MD系列:HmacMD2: 128位 Bouncy Castle实现
HmacMD4: 128位 Bouncy Castle实现
HmacMD5: 128位 JDK实现
--SHA系列:HmacSHA1: 160位 JDK实现
HmacSHA224: 224位 Bouncy Castle实现
HmacSHA256: 256位 JDK实现
HmacSHA384: 384位 JDK实现
HmacSHA512: 512位 JDK实现
2.应用:如SecuresCRT,Linux操作系统的客户端
3.代码实现,可参考本人码云项目:https://gitee.com/kevinshaw/Security 的MyHmac类
五、其他的消息摘要算法
RipeMD
Tiger
Whirlpool
GOST3411
以上均由Bouncy Castle进行实现
本文为原创文章,如果对你有一点点的帮助,别忘了点赞哦!比心!如需转载,请注明出处,谢谢!
相关文章推荐
- JAVA实现RSA加密解密 非对称算法
- Java加密解密之消息摘要
- Java实现的RSA算法,含加密解密算法,不使用工具类jar
- java实现的RC4加密解密算法示例
- java:常见加密解密算法的实现:MD5/SHA/HMAC/DES/PBE/AES/RSA/D-H
- JAVA实现的AZDG加密-解密算法(附源程序)(lp)
- 在Java中利用Apache Commons Codec API实现常见的加密解密算法,如:md5,sha256
- java实现AES加密和解密算法
- 加密解密算法java实现(2)—DES
- Java使用异或运算实现简单的加密解密算法实例代码
- RSA 加密解密算法 Java 实现
- 加密解密算法java实现(1)—BASE64
- 加密解密算法java实现(2)—DES
- eclipse JAVA实现AES的加密和解密算法
- 加密解密算法java实现(4)—MD5
- Java实现的RSA加密解密算法示例
- java中RSA加密解密算法简单实现
- java常用加密解密简单实现
- FlashFXP密码java加密解密算法
- 关于jdk中类装载器ClassLoader扩展和JNI技术(JavaNativeInterface)以及类文件的加密解密算法