powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / сравнение хэшей строк
6 сообщений из 6, страница 1 из 1
сравнение хэшей строк
    #40122368
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.
От api платежной системы прилетает инфнормация в json формате о счете. Нужно сравнить значение хэша тела ответа со значением в заголовке. Ключ и ответ кодируются в utf-8. Вроде преобразовал к одной кодировке, но видно, что в итоге новая подпись отличается кодировкой от поступившей в заголовке. Что делаю не так?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
foreach (Record_QUE r in recs)
                {
                    RecordObject b = JsonConvert.DeserializeObject<RecordObject>(r.Body);
                    bill bill = b.bill;
                    string invoice_parameters = bill.amount.currency + "|" + bill.amount.value + "|" + bill.billId + "|" + bill.siteId + "|" + bill.status.value;

                                    

                    byte[] def_pam = Encoding.Default.GetBytes(invoice_parameters);
                    byte[] utf8pam = Encoding.Convert(Encoding.Default, Encoding.UTF8, def_pam);

                    //
                    byte[] def_key = Encoding.Default.GetBytes(key);
                    byte[] utf8key = Encoding.Convert(Encoding.Default, Encoding.UTF8, def_key);
                    //

                    string newhash = String.Empty;

                    using (HMACSHA256 hmac = new HMACSHA256(utf8key))
                    {
                      
                        byte[] hashValue = hmac.ComputeHash(utf8pam);
                        newhash = Encoding.Default.GetString(hashValue);
                    }
                    if (newhash!=string.Empty && r.Hash!="" && r.Hash==newhash)
                    {
                       //
                    }

                    }
...
Рейтинг: 0 / 0
сравнение хэшей строк
    #40122369
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм.,
...
Рейтинг: 0 / 0
сравнение хэшей строк
    #40122375
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это какая-то странная затея преобразовывать произвольный массив байт в строку UTF-8.
...
Рейтинг: 0 / 0
сравнение хэшей строк
    #40122378
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: powershell
1.
PS fkthat@***:~$ [System.Text.Encoding]::UTF8.GetString([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(42))




даже странно, что от вывода такой фигни вообще терминал колом не встал.
...
Рейтинг: 0 / 0
сравнение хэшей строк
    #40122381
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм.

Это скорее всего Base32 .
...
Рейтинг: 0 / 0
сравнение хэшей строк
    #40122384
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Это какая-то странная затея преобразовывать произвольный массив байт в строку UTF-8.


блин.согласен. Я что-то подумал, раз у меня хэш текстового формата, то и новый надо в текст загнать. Спасибо. Направленеи понял.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / сравнение хэшей строк
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]