gpt4 book ai didi

php - 使用 128 位 key 创建 HMAC-SHA-256 算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:38:04 26 4
gpt4 key购买 nike

我为此苦苦挣扎了一段时间。我几乎扫描了谷歌上的所有内容,但我找不到正确的脚本,如何使用 128 位 key 创建 HMAC-SHA-256 算法。

它应该像这样简单:

$algo = 'sha256';
$file = 'file.txt';
$key = '1234567890abcdef1234567890abcdef';
echo hash_hmac_file ($algo, $file, $key );

file.txt 仅包含 8 个零 (00000000)。

输出必须是 FF365893D899291C3BF505FB3175E880,但我就是不明白怎么做?

我尝试了多种哈希算法,但没有一个返回必要的值。我在这里做错了什么以及如何解决?

我也尝试了 this 解决方案,但它仍然出错。

我需要这个来连接银行,他们提供 these test data 作为开始。


最终答案:

echo 'FF365893D899291C3BF505FB3175E880<br />';
$algo = 'sha256'; $file = 'file.txt'; $key = '1234567890abcdef1234567890abcdef';
echo substr( strtoupper( hash_hmac_file( $algo, $file, pack("H*" , $key) ) ), 0, 32 );

最佳答案

您的 key 需要从十六进制数据转换为二进制数据。添加:

$key = hex2bin($key);

还要确保您的 file.txt 包含任何尾随字符,例如换行符或回车符。

编辑:函数hex2bin在 PHP 5.4.0 中引入。对于旧版本,您可以改用

$key = pack("H*" , $key); 

关于php - 使用 128 位 key 创建 HMAC-SHA-256 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com