消息摘要算法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();
		}
	}

}


目录
相关文章
|
7天前
|
存储 算法 物联网
加密/解密(对比)
加密/解密(对比)
|
5月前
|
Python
三分钟教你学会如何将密文解码成明文
三分钟教你学会如何将密文解码成明文
89 0
|
算法 安全 编译器
MD5 消息摘要算法
MD5 算法是 MD4 消息摘要算法的扩展。MD5 比 MD4 稍慢,但在设计上更“保守”。MD5 的设计是因为人们认为 MD4 的使用速度可能比现有的批判性审查所证明的要快;由于 MD4 的设计速度非常快,因此就成功进行密码分析攻击的风险而言,它处于“边缘”。MD5 稍有后退,稍微降低速度以获得更大的最终安全性。它包含了不同评论者提出的一些建议,并包含额外的优化。MD5 算法正被置于公共领域以供审查并可能作为标准采用。
253 0
MD5 消息摘要算法
|
并行计算 算法 搜索推荐
【密码学】消息认证码
(Message Authentication Code) 是一种确认完整性并进行认证的技术,简称 MAC。使用消息认证码可以确认自己收到的消息是否就是发送者的本意,也就是说可以判断消息是否被篡改,是否有人伪装成发送者发送了这条消息。消息认证码的输入包括任意长度的和一个发送者与接收者之间的。输出固定长度的数据,输出的数据就是 MAC 值。
1644 1
|
算法
列出本机JCE支持的Provider、消息摘要算法、公钥私钥算法
列出本机JCE支持的Provider、消息摘要算法、公钥私钥算法
74 0
|
消息中间件 RocketMQ 开发者
消息发送1-消息校验|学习笔记
快速学习消息发送1-消息校验
99 0
消息发送1-消息校验|学习笔记
|
消息中间件 RocketMQ 开发者
发送单向消息|学习笔记
快速学习发送单向消息
61 0
|
安全 Java 数据安全/隐私保护
Android网络数据传输安全——实现RSA公钥加密私钥解密
Android网络数据传输安全——实现RSA公钥加密私钥解密
537 0
Android网络数据传输安全——实现RSA公钥加密私钥解密
|
存储 算法 安全
密码加密之消息摘要算法
密码加密之消息摘要算法
241 0
密码加密之消息摘要算法