Я должен сохранить пароль, имеет в базе данных SQL-сервера 2000. Информация не является критической, но я действительно не хочу хранить пароль в открытом тексте. Как я могу получить уникальный хеш (sha, sha1, md5, и т.д.) в SQL-сервере 2000, поскольку HashBytes не доступен.
Я не ищу скомпилированный DLL или род, у меня нет доступа к серверу, должен быть чистый MS SQL.
В MS SQL Server 2000 есть недокументированные (до более поздних версий) функции, называемые pwdencrypt ()
и pwdcompare ()
.
См. Этот блог: Недокументированные функции SQL Server 2000
Или в книгах MSDN в Интернете:
Однако эта функция была известна как небезопасная с тех пор. не менее 2002 года. Для получения дополнительной информации см. « Взлом паролей MS SQL Server » в TheRegister. Думаю, поэтому его заменили на Hashbytes.
Если вы не можете обновить свой экземпляр SQL Server или использовать какие-либо надстройки, возможно, это лучшее, что вы можете сделать. Если вы не хешируете пароль в коде приложения и не сохраняете полученную строку дайджеста, оставляя SQL Server вне цикла.