Отличается результат hmacsha512 c# и php

При создании хеша на c#, отличается от php на сервере. Проблема из-за новой строки, если в файле одна строка, то хеш одинаковый, если несколько строк, то результат разный. Возможно php создает доп. управляющие символы, но как тогда создать одинаковый хеш?

Код на c#:

string key = "CTI.oCT9qT";
string nonce = "fCjVyJJcujaRgsxmlh3WCcaeB5j1Zjb3F23v";
string storeid = "428768449";
string stringToSign = File.ReadAllText("t1.json", encoding); 
string message = "POST\n/woc/order\napplication/json;charset=utf-8\n" + storeid + "\n" + nonce + "\n" + stringToSign + "\n";

var keyByte = encoding.GetBytes(key);
using (var hmacsha512 = new HMACSHA512(keyByte))
{
    hmacsha512.ComputeHash(encoding.GetBytes(message));
    string result = Convert.ToBase64String(hmacsha512.Hash);
    Console.WriteLine("Result: {0}", result);
}

Код на php :

$jsonString =
'{"resourceId":428768449,
"resourceOrderNumber":"ORDER-16"}';
    
$nonce = 'fCjVyJJcujaRgsxmlh3WCcaeB5j1Zjb3F23v';
$storeid = '428768449';
$secret = 'CTI.oCT9qT';
    
$stringToSign = "POST\n/woc/order\napplication/json;charset=utf-8\n$storeid\n$nonce\n$jsonString\n";
print "$stringToSign\n";
$digest = hash_hmac('sha512', $stringToSign, $secret, false);
print "$digest\n";
$hmacString = 'HmacSHA512 '.$storeid.':'.$nonce.':'.base64_encode($digest);
print "$hmacString\n";

Ответы (1 шт):

Автор решения: Алексей

Проблема была в разнице стандартов переноса строк

string stringToSign = File.ReadAllText("t1.txt").Replace("\r\n", "\n");
→ Ссылка