Все,Handling хэшируются пароли хранятся в виде VARBINARY в SQL Server и классический ASP
Извините заранее - я новичок в большинстве тем ниже (SQL, ASP). В любом случае ...
У меня есть довольно простое веб-приложение, которое требует от пользователей входа в систему с именем пользователя и паролем.
Передняя часть создает соленый хэш SHA1 пароля и отправляет его (вместе с именем пользователя) на страницу ASP.
Эта страница ASP берет данные, вызывает хранимую процедуру в базе данных SQL Server и передает имя пользователя и хешированный пароль; хранимая процедура записывает информацию в таблицу «users».
Тип столбца пароля в таблице является varbinary.
Насколько я могу судить, когда ASP получает пароль (пароль = Request.Form («пароль»)), это строка.
я могу 'трюк' SQL Server в обращении с ним как VARBINARY, если я создать запрос таким образом:
запрос = "EXEC sp_save_user @ имя пользователя = '" & имя пользователя & "', @ пароль = 0x" & пароль
IOW - Я добавляю строку «0x» в строку пароля.
Однако, я читал, что это лучшая практика для использования параметризованного запроса:
Например: SET objParam = objCommand.CreateParameter ("@ пароль", 204, 1, 40, пароль)
Однако это не удается, поскольку параметр должен быть двоичным (204), но пароль - это строка.
Итак, как мне преобразовать строку как «4a5e6a8d521ed487b81c91e131cf27e8dae9b783» в двоичный файл в ASP?
Большое спасибо заранее!
Так же легко сделать преобразование в VBScript, и таким образом вы получите, чтобы ваш интерфейс базы данных был чистым, когда вы переходите на новую технологию пользовательского интерфейса. –