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

Откуда:
Сообщений: 493
Нашел на форуме код по шифрованию и дешифрованию данных пароля. Решил попробовать реализовать в своем проекте. Однако на любой тип шифрования результат один тот-же - NULL. Кто может разъяснить в чем проблема. Функции и XP на MSSQL необходимые для этого имеются:
/*
Пример симметричного шифрования.
*/
SELECT master.dbo.fn_CryptDefaultProvider(DEFAULT)
DECLARE @Data varbinary(8000), @xData varbinary(8000), @yData varbinary(8000)

SET @Data=Cast('Шифруемые данные' as varbinary(256))

-- RC2/128
SET @xData=master.dbo.fn_CryptEncryptRC2_128('Пароль',@Data) 
SET @yData=master.dbo.fn_CryptDecryptRC2_128('Пароль',@xData)
SELECT 'RC2/128' AS [Alg], @xData AS [AfterEncrypt], Cast(@yData as varchar(256)) AS [AfterDecrypt]

-- RC4/128
SET @xData=master.dbo.fn_CryptEncryptRC4_128('Пароль',@Data)
SET @yData=master.dbo.fn_CryptDecryptRC4_128('Пароль',@xData)
SELECT 'RC4/128' AS [Alg], @xData AS [AfterEncrypt], Cast(@yData as varchar(256)) AS [AfterDecrypt]

-- DES/56
SET @xData=master.dbo.fn_CryptEncryptDES_56('Пароль',@Data)
SET @yData=master.dbo.fn_CryptDecryptDES_56('Пароль',@xData)
SELECT 'DES/56' AS [Alg], @xData AS [AfterEncrypt], Cast(@yData as varchar(256)) AS [AfterDecrypt]

-- 3DES/168
SET @xData=master.dbo.fn_CryptEncrypt3DES_168('Пароль',@Data)
SET @yData=master.dbo.fn_CryptDecrypt3DES_168('Пароль',@xData)
SELECT '3DES/168' AS [Alg], @xData AS [AfterEncrypt], Cast(@yData as varchar(256)) AS [AfterDecrypt
19 дек 05, 17:22    [2186859]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
А Вы их не шифруйте. Вы их хешируйте. Например pwdencrypt, а сравнивайте pwdcompare.

А по-хорошему, можно сделать скельную аутенификацию и не парится.
19 дек 05, 17:33    [2186923]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Nikolay Gerasimov
Member

Откуда:
Сообщений: 493
Гавриленко Сергей Алексеевич
А по-хорошему, можно сделать скельную аутенификацию и не парится.

А это как? И что это? (прошу прощения за нескромный вопрос)
19 дек 05, 17:45    [2186971]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
tt12
Member

Откуда: Ленинград
Сообщений: 86
Библиотеку msvcr70.dll не забыли положить в system32 сервера?
19 дек 05, 17:45    [2186973]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Nikolay Gerasimov
Гавриленко Сергей Алексеевич
А по-хорошему, можно сделать скельную аутенификацию и не парится.

А это как? И что это? (прошу прощения за нескромный вопрос)

Как у Вас пользователи коннектятся к базе?
19 дек 05, 17:46    [2186978]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Nikolay Gerasimov
Member

Откуда:
Сообщений: 493
tt12
Библиотеку msvcr70.dll не забыли положить в system32 сервера?
Есть такая библиотека
19 дек 05, 17:50    [2187000]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
AndreyF
Member

Откуда:
Сообщений: 432
Nikolay Gerasimov
Нашел на форуме код по шифрованию и дешифрованию данных пароля.


А нафига пароль вообще шифровать?
Его достаточно сравнить с тем что в таблице и вернуть результат...
19 дек 05, 17:50    [2187002]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
AndreyF
Nikolay Gerasimov
Нашел на форуме код по шифрованию и дешифрованию данных пароля.


А нафига пароль вообще шифровать?
Его достаточно сравнить с тем что в таблице и вернуть результат...

Правльно, а чтобы пользователи не забывали пароли, сложить их в один файлик и положить на шару.
19 дек 05, 17:53    [2187020]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Nikolay Gerasimov
Member

Откуда:
Сообщений: 493
Гавриленко Сергей Алексеевич

Как у Вас пользователи коннектятся к базе?

под единым пользователем и паролем. Имеется таблица с пользователями и паролями. Умных ведь много Что стоит посмотреть пароль в базе и работать с программой.
19 дек 05, 17:53    [2187024]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Nikolay Gerasimov
Member

Откуда:
Сообщений: 493
Гавриленко Сергей Алексеевич
AndreyF
Nikolay Gerasimov
Нашел на форуме код по шифрованию и дешифрованию данных пароля.


А нафига пароль вообще шифровать?
Его достаточно сравнить с тем что в таблице и вернуть результат...

Правльно, а чтобы пользователи не забывали пароли, сложить их в один файлик и положить на шару.
точно !!!!
19 дек 05, 17:54    [2187027]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Nikolay Gerasimov
Гавриленко Сергей Алексеевич

Как у Вас пользователи коннектятся к базе?

под единым пользователем и паролем. Имеется таблица с пользователями и паролями. Умных ведь много Что стоит посмотреть пароль в базе и работать с программой.

Ню-ню.
19 дек 05, 17:54    [2187028]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Nikolay Gerasimov
Member

Откуда:
Сообщений: 493
и все-же, где про это можно посмотреть?
Гавриленко Сергей Алексеевич
А по-хорошему, можно сделать скельную аутенификацию и не парится.
19 дек 05, 17:56    [2187041]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Nikolay Gerasimov
и все-же, где про это можно посмотреть?
Гавриленко Сергей Алексеевич
А по-хорошему, можно сделать скельную аутенификацию и не парится.

>>под единым пользователем и паролем.
Сделайте каждому свой логин и пароль.
19 дек 05, 17:57    [2187047]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
AndreyF
Member

Откуда:
Сообщений: 432
Гавриленко Сергей Алексеевич
AndreyF
Nikolay Gerasimov
Нашел на форуме код по шифрованию и дешифрованию данных пароля.


А нафига пароль вообще шифровать?
Его достаточно сравнить с тем что в таблице и вернуть результат...

Правльно, а чтобы пользователи не забывали пароли, сложить их в один файлик и положить на шару.


Да ну...

Я вообще-то использую Windows Authentication и Application Role ;)

А хранение пароля в табличке рассматриваю как частный случай - может где-то и понадобится. А в чем проблема - табличка для чтения недоступна, а процедуркой пароль проверяется без проблем...
19 дек 05, 17:57    [2187049]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
tt12
Member

Откуда: Ленинград
Сообщений: 86
Если регитсрация процедур прошла без замечаний и msvcr70 доступна, то примеры должны работать без проблем.
19 дек 05, 18:00    [2187066]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование паролей пользователей  [new]
NEKRASSOV
Member

Откуда: какаяразнецевск
Сообщений: 2969
1. Таблицы закрываются для ВСЕХ пользователей.
2. Доступ к данным только через ХП, в которых первый шаг - проверка пароля (его хэша). Если пароль (его хэш) не совпадает - Return 0.
3. На клиенте формируется Хэш-функция и передается на сервер через процедуру регистрации. Всего один раз.
4. Пароль как таковой не проверяется, а проверяется его автоматически сгенерированная хэш-функция. При этом Хэш при снифинге (несанкционированном чтении потока данных к конкретному серверу и обратно) не подлежит дешифровке в пределах полиноминального времени (т.е. в обозримом будущем). Если не знать алгоритма хэширования. И пароля, естественно.
5. Самое надежное - не давать возможность пользователю самому определять пароль, который он потом может и забыть, а генерить его программно. Пользователю достаточно "придумать" себе легко понятное имя. А можно просто - ФИО, год рождения. Где-то :) в клиенте хранятся полностью параметры подключения со сгенерированной Хэшой. Но это скрыто от пользователя.
19 дек 05, 21:27    [2187524]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить