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 , ...
随机推荐
- 下载谷歌浏览器(Chrome)扩展离线安装包crx文件最简单的方法
转:http://alyzq.com/?p=627 如果不会使用,请看下面的操作步骤 引言(可以不看): 下面介绍一下,下载谷歌浏览器(Google Chrome)扩展的离线安装包crx文件最简单的方 ...
- TSQLDBServerHttpApi使用工作线程池
TSQLDBServerHttpApi使用工作线程池 TSQLDBServerHttpApi创建时,默认是使用单线程模式,且只使用一个数据库连接,服务端要应对众多的客户端只靠一个工作线程(主线程)和一 ...
- Less使用说明
使用koala编译 Koala 是一款由国人开发的开源预处理语言图形编译工具,目前已支持 Less.Sass.Compass 与CoffeeScript. 目前支持以下系统:Windows,Mac, ...
- java project打包生成jar包(通用)
1. 在工程目录下新建一个build.xml文件,如下图所示,注意必须是在工程目录下,而不是在工程目录的src目录里. 2.编写ant脚本,内容如下,jar文件名称(com.anllin.rup.bo ...
- Java平时需要注意的事项
1.String 相等 稍微有点经验的程序员都会用equals比较而不是用 ==,但用equals就真的安全了吗,看下面的代码 user.getName().equals("xiaoming ...
- 常见配置Server错误导致import 包无效等问题解决
- eclipse No projects are found to import
导入报:No projects are found to import 新建同名项目,然后删掉 然后:右键项目 根据需要创建资源目录: 最后复制包文件夹分别到这两个资源文件夹里:
- centos7安装ifconfig命令
ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端,运行ifc ...
- CSS Flexible 布局兼容性以及解决方案
1.兼容性 https://caniuse.com/#feat=flexbox IE11以及以下不支持. 2.解决方案 flexibility库 https://github.com/jonathan ...
- Rational Performance Tester(RPTv8.6) 在launch Schedule 时一直卡在 29%
solution:Rational Performance Tester(RPTv8.6) 在launch Schedule 时一直卡在 29% 打开Task Manager(Windows serv ...