girija1225 Ответов: 1

Что такое эквивалентный метод C# для PHP "hash_hmac()"?


У меня есть пример кода на php.Мне нужно реализовать это в c#.Я попробовал следующий код для генерации подписи с помощью HMACSHA1, но я получаю разные значения в коде c# и php.

Пожалуйста, предложите мне точный метод хэширования в c#.

PHP-код:
<pre>$signature = $this->hexToBase64(hash_hmac("sha1", $string_to_sign, self::SECRET_KEY));  
   
private function hexToBase64($hex){  
$return = "";  
foreach(str_split($hex, 2) as $pair){  
$return .= chr(hexdec($pair));  
}  
return base64_encode($return);  
}  


Цитата:
подпись: ZToYIGWks4dBLImEKWozVZTkxZc=


Что я уже пробовал:

код c# :
var key = Encoding.UTF8.GetBytes(apiKey);  
string signature ;  
using (var hmac = new HMACSHA1(key))  
{  
var hash = hmac.ComputeHash(Encoding.UTF8.GetBytes(message));  
signature = Convert.ToBase64String(hash);  
}  


Цитата:
подпись: wR/E2jbMo9Y87aqXllcZAynCyRE=

1 Ответов

Рейтинг:
0

CPallini

Видеть: Пример HMAC C#/.NET[^].