消息摘要算法HmacMD5的实现

简介: MAC算法主要用于消息验证 以下为算法实现: import javax.crypto.KeyGenerator;import javax.crypto.Mac;import javax.

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();
		}
	}

}


目录
相关文章
|
算法 JavaScript 前端开发
消息摘要算法:MD5加密
消息摘要算法:MD5加密
276 1
|
算法 数据安全/隐私保护 C++
超级好用的C++实用库之MD5信息摘要算法
超级好用的C++实用库之MD5信息摘要算法
341 0
|
存储 算法 安全
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
|
算法 安全 数据安全/隐私保护
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
|
算法 安全 Java
快速了解常用的消息摘要算法,再也不用担心面试官的刨根问底
加密算法通常被分为两种:对称加密和非对称加密。其中,对称加密算法在加密和解密时使用的密钥相同;非对称加密算法在加密和解密时使用的密钥不同,分为公钥和私钥。此外,还有一类叫做消息摘要算法,是对数据进行摘要并且不可逆的算法。 这次我们了解一下消息摘要算法。
795 0
快速了解常用的消息摘要算法,再也不用担心面试官的刨根问底
|
存储 算法 安全
软件体系结构 - 摘要算法
软件体系结构 - 摘要算法
176 0
|
算法 安全 C#
C# | 上位机开发新手指南(六)摘要算法
你知道摘要算法么?它在保障数据安全方面非常有用! 它能够将任意长度的数据转换成固定长度的消息摘要,从而确保数据的完整性和可靠性。比如说,我们下载软件的时候,就可以用摘要算法来检验软件是否被篡改,保障我们的电脑安全。 那这个算法的工作原理是怎样的呢?大致就是通过一系列复杂的计算,将原始数据转换为一个固定长度的摘要信息。而且无论输入的数据大小,输出的摘要信息长度都是一样的。 那么摘要算法有什么用处呢?比如数字签名,确保数据的来源和内容没有被篡改。还有密码学等领域的应用,可以说是非常厉害了!
206 0
C# | 上位机开发新手指南(六)摘要算法
|
算法 JavaScript 前端开发
JavaScript学习 --消息摘要算法
JavaScript学习 --消息摘要算法
208 0
|
算法 JavaScript 前端开发
JavaScript学习 --消息摘要算法
JavaScript学习 --消息摘要算法
127 0
|
存储 算法 数据库
MD5工具类(信息摘要算法)
MD5工具类(信息摘要算法)
277 0

热门文章

最新文章