2012-11-08 2 views
1

У меня есть программа, в которой пользователь вводит пароль для входа. Пароль затем сохраняется в таблице базы данных SQL 2000, называемой пользователями.Строить GUID из строки Значения и затем (де-строить) их?

Проблема в том, что любой, у кого есть SQL Query Analyzer или Enterprise Manager, может очень легко прочитать эти пароли.

Я хочу, чтобы программа построила GUID из пароля каждого пользователя и сохранила этот GUID внутри таблицы SQL, а затем, когда он проверяет ввод пароля пользователя, он деконструирует связанный GUID и получает исходное строковое значение, соответствующее ему с пользовательским вводом.

Теперь я не уверен, что это возможно, но я слышал, как некоторые ИТ-специалисты говорили о предмете, и они не были теми, кого вы просите о помощи.

+2

Взгляните на [Разница между Хешированием пароля и Шифрование его] (http://stackoverflow.com/questions/326699/difference-between-hashing-a-password-and-encrypting-it), затем [Это можно вычислить хеш MD5 непосредственно на языке T-SQL?] (http://stackoverflow.com/questions/910617/is-it-possible-to-calculate-md5-hash-directly-in-t-sql-language) –

ответ

2

Я думаю, вы должны использовать шифрования пароля при сохранении в базе данных & тогда, Дешифрования зашифрованного пароля Фро проверки.

Кроме того, вы можете использовать Hashing. Проверьте это: Salted Password Hashing - Doing it Right

КСТАТИ:

Хэши являются односторонними функциями. Вы не можете получить исходные данные из хэша.

В случае шифрования, исходных данных, извлекаемый из зашифрованных данных.

См:

Encryption/Decryption Function in .NET using the TripleDESCryptoServiceProvider Class

How to Encrypt or Decrypt password using Asp.Net with c#

3

Вы, вероятно, пытается заново изобрести колесо здесь. Существует множество стандартных решений Password Hashing.

+0

Ничего себе! теперь это совершенно новое поле для меня, чтобы начать учиться, но очень интересный («Хэширование пароля»), «Удивительно», Большое вам спасибо! –

+0

@SalahMousaBasha рада помочь. Пожалуйста, примите ответ, активировав галочку, если это было полезно. –

Смежные вопросы