美文网首页
消息摘要

消息摘要

作者: 火烛明 | 来源:发表于2017-10-31 19:11 被阅读0次

概述:
消息摘要:唯一对应一个消息或文本的固定长度的值,是一个单向由Hash加密函数对消息作用而产生的。
分类:
1.MD(Message Digest)算法的编程使用
2.SHA算法的编程使用
3.HMAC算法的编程使用

作用: 验证消息的完整性防止在运输途中被串改。

QQ20171031-093328@2x.png

一.MD算法的编程使用

1.初始化
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
2.更新
messageDigest.update(byte[] b);
3.生成摘要
byte[] result = messageDigest.digest();
4.字节数组转16进制字符串

二.SHA算法的编程使用
1.初始化
// SHA-256 , SHA-386,SHA-512
MessageDigest messageDigest = MessageDigest.getInstance("SHA");

2.更新
messageDigest.update(byte[] b);
3.生成摘要
byte[] result = messageDigest.digest();
4.字节数组转16进制字符串

三.HMAC算法的编程使用
MD算法和SHA算法缺点容易被篡改所以就有了HMAC
HMAC融合了MD 和SHA加入了秘钥的支持

QQ20171031-160958@2x.png

1.生成秘钥
1.1 初始化
KeyGenerator keyGen = KeyGenerator.getInstance("HmacMD5");
1.2 生产秘钥
SecretKey secretKey = keyGen.generateKey();
1.3 得到秘钥的字节数组
byte[] key = secretKey.getEncoded();

2.执行摘要
2.1 从字节数组还原秘钥
SecretKey secretKey = new SecretKeySpec(key, "HmacMD5");
2.2 实例化Mac
Mac mac = Mac.getInstance("HmacMD5");
2.3 用秘钥初始化Mac
mac.init(secretKey);
2.4 执行消息摘要
byte[] result = mac.doFinal(data);

相关文章

  • 消息摘要

    概述:消息摘要:唯一对应一个消息或文本的固定长度的值,是一个单向由Hash加密函数对消息作用而产生的。分类:1.M...

  • 消息摘要算法

    消息摘要算法 友情提示,本文档的图床使用极简图床进行图片存储,默认存储到七牛云空间 本文档依赖的jar maven...

  • 消息摘要算法

    消息摘要算法的主要特点有: 1、无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的...

  • 加密算法

    消息摘要算法MD(Message Digest 消息摘要算法),SHA(Secure Hash Agorithm ...

  • 消息摘要算法 -- SHA

    消息摘要算法 MD(Message Digest)消息摘要SHA (Secure Hash Algorithm)安...

  • hashlib hmac模块

    一、hashlib md5和sha算法通过消息摘要算法生成定长的消息摘要,消息摘要算法是不可逆的。但同一段消息通过...

  • 验证数据完整性——消息摘要算法

    消息摘要算法包含MD(Message Digest,消息摘要算法)、SHA(Secure Hash Algorit...

  • 3-消息摘要

    本系列文章主要总结了常用的Java加解密技术。本文介绍消息摘要,包括MD、SHA和MAC,消息摘要是一种不可逆的过...

  • 消息摘要(Message Digest)

    常见算法 MD5、SHA、CRC 等 使用场景 对用户密码进行md5 加密后保存到数据库里 软件下载站使用消息摘要...

  • 数字签名

    数字签名原理1)客户端处理①对"消息"进行 HASH(哈希) 得到 "消息摘要"②发送方使用自己的私钥对"消息摘要...

网友评论

      本文标题:消息摘要

      本文链接:https://www.haomeiwen.com/subject/rtbvpxtx.html