php中使用hash_hmac函数实现HMAC-SHA1签名算法的来龙去脉

本文介绍了PHP中使用hash_hmac函数实现HMAC-SHA1签名算法的过程,从签名验权的背景出发,详细讲解了hash_hmac函数的用法,并通过实例阐述了该算法在接口对接中的应用。
摘要由CSDN通过智能技术生成

前言

最近工作中频繁和其他部门甚至公司进行接口上的对接,不免接触到林林总总的签名验权算法。其中属HMAC-SHA1签名算法最多,刚开始接触的时候我也觉得有一点懵,慢慢搞清楚了原理,所以在这里跟大家如何理解这种签名算法中涉及到的各种各样的东西。

扫盲:

首先做个简单的扫盲
1、md5(md家族)
Message Digest Algorithm 缩写为MD,消息摘要算法,一种被广泛使用的密码散列函数。
2、sha1(sha家族)
secure hash algorithm 缩写为SHA,密码散列函数。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法,其实也就是我们常说的加密串长度固定。
上述这些算法(md,sha)之所以称作安全算法基于以下两点:
(1)由消息摘要反推原输入消息,从计算理论上来说是很困难的。说白了就是不可逆。
(2)想要找到两组不同的消息对应到相同的消息摘要,从计算理论上来说是很困难的。任何对输入消息的变动,都会很高概率导致其产生的消息摘要迥异。说白了,就是加密串碰撞度较低,并且内容有微调,秘钥串生成差异化也很大。
3、hamc
HMAC:散列消息身份验证码 Hashed Message Authentication Code 。它不是散列函数,而是采用了将MD5或SHA1散列函数与共享机密秘钥(与公钥
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值