Конференция "Базы" » Хеш скл пароля.. [D7, MSSQL]
 
  • Guest (19.02.14 00:14) [0]
    Скл сервер хранит хеши паролей своих логинов. Вопос - известено ли алгоритм хеширования паролей и его параметры? Цель - надо сделать свою проверку уже существующихешей паролей. Скл 2005, 2008, 2012.
  • Ega23 © (19.02.14 00:37) [1]
    авторизация происходит по имени пользователя. Пароль для двух разных учёток может совпадать.
  • Guest (19.02.14 00:58) [2]
    Я про скл авторизацию, там же есть пароль у учетки, о нем и речь..
  • Sergey13 © (19.02.14 09:37) [3]
    А какой смысл делать еще одну проверку ПРАВИЛЬНЫХ хешей по тому же алгоритму хеширования? НЕ правильные же НЕ хранятся.
    Может стОит задачу описать поподробнее?
  • sniknik © (19.02.14 09:55) [4]
    как то не представляется каким образом можно "сделать проверку", не зная "исходного" чтобы его захешировать и сравнить... (зачем тогда? если знаешь исходный то "проверка" делается обычным логином)

    а вот подбор пароля под известный хеш представляется легко...
  • brother © (19.02.14 11:05) [5]
    > Цель - надо сделать свою проверку уже существующихешей паролей

    вранье и провокация! это называется подбор! и не надо тут нам "ляля"!
  • Ega23 © (19.02.14 11:50) [6]

    > Я про скл авторизацию, там же есть пароль у учетки, о нем
    > и речь..


    SQL авторизация происходит по имени пользователя. Пароль для двух разных sql-учёток может совпадать.
  • guest (19.02.14 12:54) [7]
    суть в том, что ранее использовалась скл авторизация, т.е. хеши паролей юзеров есть в бд.  теперь с переходом на иную архитектуру будет использоваться наша авторизация. чтобы не заставлять всех юзеров перевбивать пароли, мы подумали что можем поддерживать существующие, т.к. хеши и логины известны.

    т.е. на вход к нам поступит логин и пароль.  а в бд есть хеш.   если иметь четкое понимание что и как хешировать, то мы можем сделать корректную авторизацию.
  • я (19.02.14 13:10) [8]
    ну и зачем ковырять старый хеш, который к тому же скорее всего еще и соленый, если логины и пароли тебе известны, и ты можешь просто создать новую таблицу с логином и хешем пароля на нужном тебе алгоритме?
  • я (19.02.14 13:13) [9]
    а если пароли неизвестны, то берем открытый пароль при входе юзера и если в таблице пусто, создаем новый хеш и считаем что отныне пароль у юзера такой и будет.
    а если хеш уже есть, то проверяем его хешируя переданный юзером пароль
    и никто ничего и нигде не перебивает.
  • Ega23 © (19.02.14 14:07) [10]

    >  чтобы не заставлять всех юзеров перевбивать пароли


    Заставлять. И не морочьте голову.
  • sniknik © (19.02.14 14:10) [11]
    > то мы можем сделать корректную авторизацию.
    не сможете...
    мелкософт даже свою "sql серверную", не считает правильной (убирает начиная с 2005й версии, "не навязчиво" переводит на виндовую...). что уже говорить о вашей "производной" от неправильной "sql серверной".

    > создаем новый хеш и считаем что отныне пароль у юзера такой и будет.
    не дай гейтс опечатался юзер в первом вводе после вашего "обновления"... во весело будет, после то он правильный вобьет и даже откопает где нибудь бумажку с записанным "оригиналом".
  • я (19.02.14 15:46) [12]
    И все сразу взорвется? И земля остановится?

    Или админам можно будет просто сбросить хранимый хеш в нулл?
  • sniknik © (19.02.14 15:57) [13]
    просто - "весело будет".

    хотя, с таким подходом, менять данные прямо в системных таблицах (а для этого дать спец разрешения буквально всем, т.к. при входе с любым и пустым в базе паролем, нужно будет этот пароль менять), базу (а вернее все базы под этим сервером) можно легко "потерять".
  • я (19.02.14 16:01) [14]
    кому буквально всем?

    у него все будут заходить под одним логином, а дальше авторизоваться не на сервере, а в приложении.
    так что не всем, а только этому служебному юзеру.
  • guest (19.02.14 16:03) [15]
    короче еще думаем заюзить PWDCOMPARE (Transact-SQL), на вход подаем введенный пароль пользователя и хэш который у нас есть сохраненный..

    в итоге функция выдает, совпадают ли кэши, и нам не нужно думать, как работает алгоритм вычисления хэша...

    нормальная тема для нашей задачки?
  • я (19.02.14 16:09) [16]
    а с чего ты вообще решил, что на сервере лежит
    hash(открытый пароль)?
  • guest (19.02.14 16:14) [17]
    вызов функции LOGINPROPERTY ( 'login_name' , PasswordHash ) разве не вернет его?
  • sniknik © (19.02.14 16:58) [18]
    > а дальше авторизоваться не на сервере, а в приложении.
    > Скл сервер хранит хеши паролей своих логинов.

    если "в приложении" то нафига знать-привязываться к sql-серверным?
  • clickmaker © (19.02.14 17:01) [19]
    нафига так заморачиваться ради одноразовой смены паролей у юзеров?
 
Конференция "Базы" » Хеш скл пароля.. [D7, MSSQL]
Есть новые Нет новых   [134427   +38][b:0][p:0.001]