MAC算法之消息摘要算法HmacMD5的实现
作者:lqh 发布时间:2023-02-13 08:03:28
标签:MAC,HmacMD5
MAC算法之消息摘要算法HmacMD5的实现
MAC算法主要用于消息验证
以下为算法实现:
import javax.crypto.KeyGenerator;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.xml.bind.annotation.adapters.HexBinaryAdapter;
public class Main {
static String src = "Hello,sahadev!";
public static void main(String[] args) {
HmacMD5();
}
public static void HmacMD5() {
try {
// 获取密钥生成器
KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5");
// 生成密钥
SecretKey generateKey = keyGenerator.generateKey();
// 获取"Message Authentication Code" (MAC) algorithm实例
Mac instance = Mac.getInstance(generateKey.getAlgorithm());
// 根据生产的密钥初始化该实例
instance.init(generateKey);
// 加密消息
byte[] doFinal = instance.doFinal(src.getBytes());
// 输出加密后的消息
System.out.println("HmacMD5 : "
+ new HexBinaryAdapter().marshal(doFinal));
} catch (Exception e) {
e.printStackTrace();
}
}
}
来源:http://blog.csdn.net/sahadev_/article/details/48765737


猜你喜欢
- 这篇文章主要介绍了springboot自定义异常视图过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- Java调用接口获取json数据保存到数据库今天给大家带来一个调用接口,来获取数据解析后再保存到数据库中的业务,业务中的Mapper和实体类
- java 反射机制:测试实体类以Human为例/** * Project: Day12_for_lxy * Created: Lulu *
- 1. 读取json file1.1 Json dependency<dependency> &nbs
- 先建个钉钉群,并加好机器人此时,机器人已经添加完毕,接下来编写我们连接机器人小哥的代码import com.alibaba.fastjson
- //Annotation configuration dwr servletprivate void initializeDwrServle
- 树的结构说得差不多了,现在我们来说说一种数据结构叫做哈希表(hash table),哈希表有是干什么用的呢?我们知道树的操作的时间复杂度通常
- 本文实例讲述了Spring实战之注入集合值操作。分享给大家供大家参考,具体如下:一 配置<?xml version="1.0
- Dart实体类格式class CategoryMo { String name; int count;CategoryMo({this.na
- 本文实例讲述了C#实现控制Windows系统关机、重启和注销的方法。分享给大家供大家参考。具体分析如下:使用.NET和C#.NET,我们可以
- 简介java中可以被称为Number的有byte,short,int,long,float,double和char,我们在使用这些Nubme
- mport java.text.DecimalFormat; DecimalFormat &nb
- 前言:Stream API 和 Lambda 是Java8的重要特性让我们可以使用更具功能性的语法风格。但是在编写的代码时候一个更大的问题是
- 废话不多说了,直接给大家贴代码了,具体代码如下所示:package wxapi.WxHelper; import java.io.Buffe
- 1.使用API设置主题如下所示,在Activity中使用setThemesetTheme(R.style.MyTheme1);2.调用API
- 一:问题引入前面讲到用户支付完成之后微信支付服务器会发送回调通知给商户,商户要能够正常处理这个回调通知并返回正确的状态码给微信支付后台服务器
- 本文实例为大家分享了C#线程中弹窗的制作代码,供大家参考,具体内容如下首先建立一个ShowFrom窗体,窗体中放入两个按钮分别为确定和取消分
- java 高并发中volatile的实现原理摘要: 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Vola
- SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助
- 问题项目是springcloud项目,在maven install某一个项目时报错:程序包com.example.commons.appli