2015-03-12 2 views
0

Что такое эквивалентная функция в MSSQL Server для функции PASSWORD() MYSQL? Мне нужно перенести запросы MySQL в MSSQL Server.Что такое MSSQL-эквивалент функции паролей MySQL?

Ниже приведен пример запроса моего исходного кода: -

Select * from users where username = 'demo' and pasword = PASSWORD('demo'); 

эта функция используется для создания учетной записи пользователя, создавая, а также проверки подлинности.

+0

, как вы используете Это? пожалуйста, укажите пример. – Tanner

+1

Функция PASSWORD() для создания учетных данных базы данных? – RBB08

+0

Да, для создания и аутентификации учетной записи. Я обновил свой вопрос – deltaforce

ответ

0

На самом деле функция PASSWORD() MySql не должна использоваться для хэш-паролей. С MySql docu:

PASSWORD() используется системой аутентификации в MySQL Server; вы, , не должны использовать его в своих приложениях.

Проблема заключается в том, что он использует несогласованный и быстрый алгоритм хэширования. Это не дает вам большой защиты, вместо этого использует хэш-алгоритм с коэффициентом затрат, например, BCrypt SCrypt или PBKDF2. MySql не предлагает такой алгоритм, поэтому вы должны рассчитать хэш на своем языке разработки.

Я настоятельно рекомендую, чтобы переключиться на более безопасный алгоритм, для обратной совместимости вы можете посмотреть на «определяет» ответ, он пытался реализовать поведение MySql:

MySQL Hashing Function Implementation

+0

Это существующее приложение клиента, в котором я не могу вносить никаких изменений. Я знаю, что это хороший способ использовать шифрование паролей. Купить мою проблему в том, что мне нужно преобразовать MySQL-запросы в MSSQL. Любая помощь в этом отношении? – deltaforce

+0

@ deltaforce - Затем посмотрите на связанный пример, это, вероятно, просто своего рода двойной хеш 'sha1 (sha1 (пароль))', возможно [HASHBYTES] (https://msdn.microsoft.com/en-us /library/ms174415.aspx) может помочь. Это действительно больно, если вам нужно создать такую ​​небезопасную функцию для MSSql. – martinstoeckli

+0

@ deltaforce - Если это действительно простой несогласованный двойной хэш, он даже предлагается из коробки с помощью таких крекерных инструментов, как [oclHashcat] (http://hashcat.net/oclhashcat/#features-algos). – martinstoeckli