2013-11-11 2 views
2

Я работаю с некоторой сторонней библиотекой (написанной на C#, ее документация немного плохая ...) Дело в том, что для одного из них есть «Login» функции аутентификации Мне нужно предоставить хешированный пароль.Хеширование пароля с паролем пользователя и значением nonce

Я все еще немного неопытен во всем этом хешировании, так что, может быть, кто-то здесь может мне помочь?

документация Библиотека говорит: «сгенерировать хэш пароля, из предоставленного пароля пользователя и значение Nonce» Это значение «одноразовое значение» выглядит примерно так: «Xi8SCdy7FarblZe61qP9ijginknhPe15» (? 32-битный хэш)

Но Я не знаю, какой алгоритм хеширования следует использовать.

Есть ли у кого-нибудь какие-либо предложения или примеры того, как это можно сделать на C# или C++/CLI? Спасибо.

+0

Говорят, какой хэш-алгоритм предполагается использовать? –

+0

К сожалению, как я уже упоминал ранее, документация немного бедна, и ничего не сказано о алгоритме хэширования. – Gediminas

ответ

1

Номер nonce - это номер, который используется только один раз, в этом случае для аутентификации. Скажем, если злоумышленник получил хешированный пароль во время аутентификации, ему все равно не понадобится исходный пароль, он может просто использовать хэш, и он будет иметь тот же эффект, на стороне сервера. С помощью nonce хэш создается с использованием значения, которое обычно не реплицируется для другого хеша. Дополнительную информацию можно найти здесь: http://tyleregeto.com/article/a-guide-to-nonce

Как правило, сервер отправляет клиенту nonce, клиент объединяет это nonce с паролем и запускает его с помощью алгоритма хэширования. Затем клиент отправляет результат на сервер, который выполняет тот же алгоритм с тем же самым nonce на пароле, который он сохранил, и сравнивает результаты.

+0

Спасибо, хаосфлау. Я знаю о цели nonce;) – Gediminas

1

Есть два вопроса, которые я думаю: что делать с nonce и как хэш. Второй - самый важный, потому что я не думаю, что на него можно ответить, кроме того, чтобы копаться в библиотеке.

Первая часть имеет несколько вариаций, которые (по крайней мере, я думаю) не все одинаково вероятно,

  1. конкатенация пароль и хэш и хэш-т.й результат
  2. хэша пароль, хэш данного случая, конкатенаций тех,
  3. хэш-тэ пароль, сцепить с одноразовым номером

Я не думаю, что отправка пароля unhashed является допустимым вариантом. 3-ий вариант кажется странным, потому что почему бы не попросить их как отдельные сущности? Так что я бы сказал, что вариант один и вариант два наиболее вероятно, с номером 1, скорее всего, из-за формулировки:

генерировать хэш пароля из .....

I что это не поможет вам, если хэш-алгоритм неизвестен.

 Смежные вопросы

  • Нет связанных вопросов^_^