Имитировать Linux OpenSSL команду в C # - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть команда linux, и я пытаюсь понять, как имитировать ее в C #, чтобы получить то, что ожидается, но, похоже, не могу ее получить.Это связано с хешированием URL секретным ключом.Команда linux (поддельный сайт и цифры только для примера):

echo -n "http://example.com/deliver?id=8247653546577888776655553d323453-3h78-7y42-b3d7-8u4q111y5hr6&timestamp=1556034591" | openssl dgst -sha1 -hmac "567gy324-6666-4444-fr46-2h7arwdh5555"

Я действительно не знаю, что означают команды, поэтому не уверен, с чего начать, как попытаться получить такой вызовв C #.

1 Ответ

1 голос
/ 24 апреля 2019

Эта команда OpenSSL вычисляет HMAC данных, переданных ей на стандартный ввод (т. Е. Вывод команды echo).HMAC - это тип кода аутентификации сообщения (MAC), который используется для проверки целостности сообщения, т. Е. Если злоумышленник каким-либо образом изменил сообщение, то код MAC больше не будет совпадать (он не сможет проверить).HMAC комбинирует ключ с базовым алгоритмом хеширования (в данном случае SHA1) для генерации выходного значения MAC.

Документы Microsoft предоставляют полный пример того, как выполнить HMAC с операцией SHA1 здесь:

https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.hmacsha1?view=netframework-4.8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...