一、消息摘要算法
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进行实现
本文为原创文章,如果对你有一点点的帮助,别忘了点赞哦!比心!如需转载,请注明出处,谢谢!