gpt4 book ai didi

c# - 将 PHP HMAC SHA256 转换为 C#

转载 作者:太空宇宙 更新时间:2023-11-03 12:24:55 24 4
gpt4 key购买 nike

我需要在 C# 中转换以下 PHP 代码:

$hash = hash_hmac('SHA256',"ent",'key',true);
echo rtrim(strtr(base64_encode($hash), '+/', '-_'), '=');

我使用以下 C# 代码:( FROM HERE )

private static string hmacSHA256(String data, String key)
{
using (HMACSHA256 hmac = new HMACSHA256(Encoding.ASCII.GetBytes(key))) {
byte[] a2 = hmac.ComputeHash(Encoding.ASCII.GetBytes(data));
string a3 = Convert.ToBase64String(a2).ToString.Replace("+", "-").Replace("/", "_").Replace("=", "");
return a3;
}
}

但结果不一样。

PHP results : Xt0hGF_wcArzx4urxfbHUpOp2eEXvtGTDekGtQw5JTo

c# results : FnM4gpRRlapTZcO5iAIlEXEqU5iFT1hYcmQ1rY7ZINE

最佳答案

我刚刚测试了您的代码,它们工作正常。我传递了 abcdefghsecretkey 作为参数,它们给出了相同的结果。

如果您在询问之前检查您的实际输入就更好了。

C# 代码(fiddle):

Console.WriteLine(hmacSHA256("abcdefgh", "secretkey"));

输出:

d2AI63oXm2Q5VDCCjLvBrwKr-gT6vZcizD6BCq1rRjc


PHP 代码 ( make the fiddle yourself ):

<?php
$hash = hash_hmac('SHA256',"abcdefgh",'secretkey',true);
echo rtrim(strtr(base64_encode($hash), '+/', '-_'), '=');
?>

输出:

d2AI63oXm2Q5VDCCjLvBrwKr-gT6vZcizD6BCq1rRjc


您的问题在别处。

关于c# - 将 PHP HMAC SHA256 转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45499857/

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