Код C#, перенесенный из Javascript, дает другую возвращаемую строку ⇐ Javascript
Код C#, перенесенный из Javascript, дает другую возвращаемую строку
Существует файл JavaScript под названием crypto-js. Я использую его для генерации хеша для пары объектов ключа и сообщения. Я импортирую класс под названием HmacSHA256 из файла и генерирую хеш для этого сообщения и пары ключей соответственно
сообщение – > 49462 ключ -> 5c93bb с этим кодом Javascript
функция encrypt(сообщение, ключ) { let hmac = CryptoJS.HmacSHA256(CryptoJS.enc.Hex.parse(сообщение), ключ); пусть результат = hmac.toString(CryptoJS.enc.Hex); } Хеш, сгенерированный процессом, описанным выше, f6c84b808dfedcf89c8b4d21c1148f03f89d890a436c8417416f123f28473e5b Я попытался преобразовать приведенный выше код в C# и посмотреть, будет ли хеш одинаковым для объектов сообщения и ключевых объектов с этим кодом
public static string Encrypt(строковое сообщение, строковый ключ) { вар hmac = новый HMACSHA256(Encoding.UTF8.GetBytes(ключ)); var message Bytes = Encoding.UTF8.GetBytes(сообщение); вар hashBytes = hmac.computeHash(messageByted); return BitConverter.ToString(hmac.Hash).Replace("-","").ToLower(); } Выходные данные, полученные с помощью описанного выше метода, полностью отличаются от того, что я получил в коде Javascript. Как мне исправить код C#, чтобы он генерировал аналогичный хэш?
Существует файл JavaScript под названием crypto-js. Я использую его для генерации хеша для пары объектов ключа и сообщения. Я импортирую класс под названием HmacSHA256 из файла и генерирую хеш для этого сообщения и пары ключей соответственно
сообщение – > 49462 ключ -> 5c93bb с этим кодом Javascript
функция encrypt(сообщение, ключ) { let hmac = CryptoJS.HmacSHA256(CryptoJS.enc.Hex.parse(сообщение), ключ); пусть результат = hmac.toString(CryptoJS.enc.Hex); } Хеш, сгенерированный процессом, описанным выше, f6c84b808dfedcf89c8b4d21c1148f03f89d890a436c8417416f123f28473e5b Я попытался преобразовать приведенный выше код в C# и посмотреть, будет ли хеш одинаковым для объектов сообщения и ключевых объектов с этим кодом
public static string Encrypt(строковое сообщение, строковый ключ) { вар hmac = новый HMACSHA256(Encoding.UTF8.GetBytes(ключ)); var message Bytes = Encoding.UTF8.GetBytes(сообщение); вар hashBytes = hmac.computeHash(messageByted); return BitConverter.ToString(hmac.Hash).Replace("-","").ToLower(); } Выходные данные, полученные с помощью описанного выше метода, полностью отличаются от того, что я получил в коде Javascript. Как мне исправить код C#, чтобы он генерировал аналогичный хэш?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение