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

Откуда:
Сообщений: 466
Всем Добрый день.

Задача следующая.
Есть таблица (Table1 в ней есть поля (телефон,пароль))
Обычный человек звонит на систему вызывается хп регистрации и выдачи пароля следующая

create procedure Pin
@telephone_number varchar(125),
@pin_code nvarchar(100) output
AS
BEGIN
BEGIN TRY
SET @pin_code = (select top 1 r.rnd as new_id
from rand_vw_uint r
where not exists(select * from sysobjects o where o.id = r.rnd))

insert into telephone_number(telephone_number,pine_code)
values(@telephone_number,HashBytes('MD5',@pin_code))

return 1
COMMIT TRAN
END TRY
.............

Потом я запускаю ее
DECLARE
@A NVARCHAR(50)
EXEC web_GivePineCode '2066',@A OUT
PRINT @A

выдается ответ : 12364 в таблицу заносится хэш
Это все нормально.


Проблема в том ,что когда я хочу выбрать пользователя с таким паролем мне ничего не выдается
select * from telephone_number
where pine_code = '12364 '

Делал еще след.образом
select * from telephone_number
where pine_code =PWDENCRYPT('12364 ')

В чем ошибка?

Заранее благодарен.
29 окт 09, 17:12    [7858004]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36814
При записи в таблицу используем HashBytes, при сравнении PWDENCRYPT?
29 окт 09, 17:14    [7858022]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ошибка в том, что вы снова в таблицу заносите одно значение - HashBytes('MD5',@pin_code), а сравнивать пытаетесь с другим. Включите элементарную логику
29 окт 09, 17:14    [7858026]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Я сделал след. образом все равно ничего не выдает

select * from telephone_number
where pine_code =PWDENCRYPT('12364 ')
29 окт 09, 17:15    [7858029]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36814
Чукча не читатель, чукча писатель?
29 окт 09, 17:15    [7858035]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
Glory
Member

Откуда:
Сообщений: 104760
ИльдарSR
Я сделал след. образом все равно ничего не выдает

select * from telephone_number
where pine_code =PWDENCRYPT('12364 ')

А почему по-вашему PWDENCRYPT должна возвращать тоже самое, что и HashBytes('MD5' ??
29 окт 09, 17:17    [7858055]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Брутфорсим УЗ в SQL Server
29 окт 09, 17:21    [7858107]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
Влом регистрироваться
Guest
select * from telephone_number
where pine_code =HashBytes('MD5','12364 '))
30 окт 09, 07:01    [7859641]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение пароля  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Большое спасибо.
30 окт 09, 10:43    [7860313]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить