首页 > 原创文章 > 软件开发 > 查看文章

hash_hmac(): Unknown hashing algorithm错误的解决方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-03-27 09:04 IP属地: 深圳
点击阅读全文

最近在使用Fastadmin时,突然遇到一个奇怪的问题,程序抛出“hash_hmac(): Unknown hashing algorithm”异常。之前都好好的,怎么突然就遇到这么个问题呢?

image.png

查看了下Driver.php这个源码,发现在使用hash_hmac时,参数不正确,PHP官方对hash_hmac参数的使用方法是:

<?php
    echo hash_hmac('sha256', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

从Php8.0开始,如果第一个参数未知或者是非加密散列函数,以前返回 false,现在将抛出 ValueError 异常。即第一个参数必须是加密函数才可以。对Driver.php修改后如下:

return hash_hmac($config['hashalgo'], $token, $config['key']);

程序立刻恢复正常。

相关文章

支付宝支付提示“暂时无法获取订单信息,请稍候...

支付宝支付提示“暂时无法获取订单信息,请稍候再试”的解决办法

java如何在请求中加入参数?

在Java中,提交请求时加入参数有两种方法:一、把参数直接写在url中,如:如请求url是https://www.aaa.com,参数是name=kevin,gender=2,那么可以直接把请求url写成https://www.aaa....

mysql 1267 Illegal mix...

这个问题,用普通sql语句查询,好解决,把表的字符编码改为对应的就可以了。但在使用视图查询时,比如select'aaa'astypefromxxx;select*fromviewwheretype='aaa...

微信小程序提示“手机号快速验证组件”资源包用...

微信小程序自2023年8月起,开始对《手机号快速验证组件》进行收费,每个小程序有1000次的免费额度,超过额度就要收费。说白了就是以后在使用微信小程序获取用户手机(用户主动授权)的时候,需要按次数收费了。那么,在当前的经济状况下,如何做...

推荐文章

fastadmin btn-dialog按钮...

fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...

videojs宽度高度自适应100%的方法

videojs是一款非常不错的htmlvideo播放器插件,很多同学经常在群里问我,说丁老师这个videojs怎么设置为宽度或者高度自适应呢,不想把video的width和height写死,有没有什么办法呢。丁老师经过研究发现啊,video...

宝塔"在未指定SSL默认站点时,未开启SSL...

宝塔系统相关问题解决方法

CI框架页面添加全局变量的方法

CI框架是一款很小却又非常强大的PHP程序框架,非常适合用来搭建中小型网站以及扩展程序。有同学问到,在使用CI框架时,比如要对全站的标题、公司信息、电话等设置一个全局变量,不用每个页面都写死,该怎么办呢?丁老师来教你:1.打开页面的控制器文...

QQ咨询 微信咨询