Java实现加解密(二)之消息摘要算法加密

一、消息摘要算法

      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进行实现

 

本文为原创文章,如果对你有一点点的帮助,别忘了点赞哦!比心!如需转载,请注明出处,谢谢!

 

转载于:https://my.oschina.net/aibinxiao/blog/1550093

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值