Я пытаюсь создать подпись для нашего банка с указанным ключом, но мои результаты не совпадают с информацией, которую я получил от банка. Может ли кто-нибудь увидеть, что я делаю неправильно?
Ссылка на банк для справки (текст на шведском языке)
Примерные данные находятся внутри знаков цитирования.. :)
Данные файла: "00000000"
Ключ: "1234567890ABCDEF1234567890ABCDEF"
Ожидаемый результат: "FF365893D899291C3BF505FB3175E880"
Мой результат: "05CD81829E26F44089FD91A9CFBC75DB"
Мой код:
// Using ASCII teckentabell
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
// Using HMAC-SHA256
byte[] keyByte = encoding.GetBytes("1234567890ABCDEF1234567890ABCDEF");
HMACSHA256 hmacsha256 = new HMACSHA256(keyByte);
byte[] messageBytes = encoding.GetBytes("00000000");
byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);
byte[] truncArray = new byte[16];
Array.Copy(hashmessage, truncArray, truncArray.Length);
// conversion of byte to string
string sigill = ByteArrayToString(truncArray);
// show sigill
MessageBox.Show("Sigill:\n" + sigill, "Sigill", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);