消息认证码 hmac

本文介绍了HMAC(Hash Message Authentication Code),一种用于验证消息完整性和发送者身份的技术。通过使用对称密钥,发送方和接收方可以确保消息未被篡改并确认发送者。HMAC的计算公式为:hmac = hash(msg, key)。在macOS上,还提供了Hmac.h和Hmac.cpp文件作为代码封装示例。" 84195818,7512809,Vue面试必备知识点详解,"['Vue', '前端开发', 'MVVM', '数据绑定', '组件', '路由']
摘要由CSDN通过智能技术生成

概念介绍

hmac (hash message authentication code) 是用来确认消息的完整性及认证消息的发送者的技术

  1. 完整性,是通过判断hash值来确定的
  2. 认证,是通过对称密码的密钥来完成的

因为是对称密码,所以发送发和接收方事先需要共享密钥

公式:

hmac = hash(msg, key)

发送方发送 msg + hmac
接收方利用公式 hash(msg, key)计算出hmac,然后与接收到的hmac进行对比,如果相同则可确定消息没有被篡改,且是发送者发送的

macOS 上代码封装
头文件 Hmac.h

#ifndef Hmac_h
#define Hmac_h

#include <stdint.h>
#include <vector>

class Hmac final {
public:
    enum struct Algorithm {
        Md5,
        Sha1,
    };

public:
    typedef std::vector<uint8_t> Data;

public:
    static Data md5(const Data &msg, 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值