Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Хранение паролей  [new]
Alex_2003
Member

Откуда: Moscow
Сообщений: 277
Как я понимаю в системных таблицах значения паролей хранятся в поле типа varbinary. Вот и я сделал table Users.Где поле Password имеет тип varbinary.
Если я реализую выборку из хранимой процедуры
'*****************************
CREATE Procedure CustomerLogin
(
@Login nvarchar(50),
@Password nvarchar(50),
@CustomerID int OUTPUT
)
AS
SELECT
@CustomerID = CustomerID

FROM Users

WHERE
name = @Login and Password=convert(varbinary,@Password)

IF @@Rowcount < 1
SELECT
@CustomerID = 0

'****************
то ничего не выбирается, т.к. при использовании метода HTTP GET, пароль кодируется с помощью функции Encrypt. А если просто передавать пароль методом POST, то все выводится, но это становится в разрез политики безопасности.
Как лучше организовать хранение и передачу паролей?
8 авг 03, 12:46    [293331]     Ответить | Цитировать Сообщить модератору
 Re: Хранение паролей  [new]
Denis A.
Member

Откуда: Челябинск
Сообщений: 353
Хранить не пароль, а хэш. Например MD5. При вводе юзером пароля, на клиентском JScript делать хэш пароля. POSTом передать этот хэш на сервер и сравнить хэш в базе и хэш от клиента.

Реализацию MD5 на JScript встречал, так что ничего сложного быть не должно. На крайний случай можно более простой хэш придумать/найти.
9 авг 03, 09:17    [294474]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить