MAC信息摘要
MAC(Message Authentication Code ,消息认证码算法)是含有密钥散列函数算法,兼容MD和SHA算法的特性,并在此基础上加入了密钥。因此,MAC也称为HMAC。

/**
*1、创建密钥
*/
//创建对应摘要算法(如MD5\SHA1\SHA256等)密钥生成器对象KeyGenerator
KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5");
//产生密钥
SecretKey secretKey = keyGenerator.generateKey();
//得到密钥的字节数组
//byte[] key = secretKey.getEncoded();
/**
* 2、根据密钥产生mac摘要
*/
//创建对应摘要算法(如MD5\SHA1\SHA256等)的Mac实例对象
Mac mac = Mac.getInstance(secretKey.getAlgorithm());
//初始化该mac实例对象的密钥
mac.init(secretKey);
//获取mac摘要信息
byte[]result = mac.doFinal("中国".getBytes());
System.out.println(toHexString(result)); |
MAC信息摘要的更多相关文章
- 网络安全-安全散列函数,信息摘要SHA-1,MD5原理
-----------------------------------------------欢迎查看网络安全连载博客-----------------------------------[网络安全] ...
- 【转】java MessageDigest类的作用 :提供信息摘要 算法( MD5 或 SHA 等)的功能
一.结构和概述: java.lang.Object java.security.MessageDigestSpi java.security.MessageDigest 声明:public abstr ...
- PHP的Hash信息摘要扩展框架
今天我们主要学习的是 PHP 中一些 Hash 散列加密相关的扩展函数的使用,而不是 Hash 算法,这种加密其实也只是一种更复杂一些的密钥算法,与 Hash 算法类似的是,我们输入的一串字符串,就像 ...
- 信息加密之信息摘要加密MD2、MD4、MD5
对于用户数据的保密一直是各个互联网企业头疼的事,那如何防止用户的个人信息泄露呢?今天为大家介绍一种最简单的加密方式--信息摘要算法MD.它如何来保护用户的个人信息呢?其实很简单,当获得到用户的信息后, ...
- SHA信息摘要
SHA算法是在MD4的基础上演进而来的,通过SHA算法能够获得一个固定长度的摘要信息. SHA算法系列有SHA-1(也成为SHA),SHA-224,SHA-256,SHA-384和SHA-512这 ...
- Java之加密(信息摘要)工具类(依赖:java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils)
依赖于java.security.MessageDigest,支持MD5,SHA-1,SHA-256 import java.security.MessageDigest; import java.s ...
- java获取来访者mac信息
根据IP获取对应的Mac地址,支持win10+Linux package com.simonjia.util.other; /** * @Author: SimonHu * @Date: 2019/6 ...
- python实现获取系统版本和mac信息上传到指定接口
import os,platform,uuid,urllib.parse,urllib.request,json def BeforeSystemRequests(): ''' the systemi ...
- 第四周LINUX 学习笔记
内核编译丶sed丶awk Linux:单内核 模块化:动态 /lib/modules lsmod,modinfo,modprobe,insmod,,modprobe -r , ...
随机推荐
- hdu 1233 还是畅通工程 最小生成树(prim算法 + kruskal算法)
还是畅通工程 Time Limit: 4000/2 ...
- TCP Socket一些东西
1. 若connect失败该套接字不可再用,必须close当前套接字,重新调用socket. 手册上注明连接失败后, socket的状态是未知的, 所以再次connect, 可能成功, 也可能失败. ...
- unity render pipeline
post process v2 GUI temp8->TaregtPool0->temp8 tem8 temp8->backbu ...
- elasticsearch term 查询之一
1.前言 term级别查询将按照存储在倒排索引中的确切字词进行操作,这些查询通常用于数字,日期和枚举等结构化数据,而不是全文本字段. 或者,它们允许您制作低级查询,并在分析过程之前进行. term级别 ...
- Yii2 使用十二 配合ajaxFileUpload 上传文件
1.js $("input#upload").change(function () { $.ajaxFileUpload({ url: '/members/web-members- ...
- mvn test 中文乱码
有两种解决办法: 1.设置encoding:<argLine>-Dfile.encoding=UTF-8</argLine>,解决读取文件中的中文乱码问题 2.升级maven- ...
- spring利用后置处理器初始化bean属性
spring利用后置处理器初始化bean属性 参考:http://blog.csdn.net/heyutao007/article/details/50326793 @Configurable @En ...
- [Spring Boot] Adding JPA and Spring Data JPA
JPA is just like a helper class for providing data for Controller, has method like 'findOne', 'findA ...
- 用C++实现文件压缩(1 哈弗曼编码)
今天下午想把文件压缩写一下,因为我觉得这个还是比较锻炼技术的,对数据结构的要求应该比较高,权当练习了吧. 我采用的压缩方式是Huffman编码,不过比较囧的是,我拼写拼错了,我拼的是haffman,在 ...
- 对AOP切面的一些整理与理解
首先上一张AOP的图示 一:几个重要的概念 1> 切面:横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象[验证切面.日志切面] 2> 通知:切面中的每个方法 3& ...