|
#1
|
|||
|
|||
Пользователи в БД
Проблема следующая.
Есть форма регистрации пользователей , которая создаёт и записывает в БД этих пользователей, пароль шифруется процедурой Код:
CodeString(DBEdit1.Text, true Всё прекрасно создается и пишется. Теперь использую процедуру для сравнения логина и пароля в БД с введёнными на форме для активации Код:
ADODataSet1.First; for I := 0 to ADODataSet1.RecordCount -1 do //Обработка данных Логина и Пароля пользователя. begin LogPass[i]:= ADODataSet1.FieldValues ['Name']+' '+ADODataSet1.FieldValues ['pass']; ADODataSet1.Next; Inc(Counts); end; //CodeString(DBEdit1.Text, false); ResultLogPass:= Trim(DBComboBox1.Text)+' '+Trim(DBEdit1.Text); for H := 0 to Counts do //Цикл проверки . begin if ResultLogPass = LogPass[H] then begin Form8.ShowModal; end Else Label3.Caption:='Не верный логин или пароль'; end; Понимаю , что теперь зашифрованный пароль, нужно расшифровать процедурой Код:
CodeString(DBEdit1.Text, false); Код:
ResultLogPass:= Trim(DBComboBox1.Text)+' '+Trim(DBEdit1.Text); Спасибо |
#2
|
|||
|
|||
Сам отвечу.
Клеил процедуру не туда Код:
LogPass[i]:= ADODataSet1.FieldValues ['Name']+' '+CodeString(ADODataSet1.FieldValues ['passw'],false); Теперь порядок |
#3
|
|||
|
|||
А в принципе это не правильно.
Хранить пароли не надо, даже зашифрованные. Надо считать от них хеш и хранить его. Ну и сравнивать тоже хеши. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
starcon (06.03.2016)
|
#4
|
|||
|
|||
Защита от дурака.
Для меня и это уже фантастика. |
#5
|
|||
|
|||
Какая фантастика??? Найти либу, которая считает, например, md5 (кстати, вроде, в Indy такая есть) и ее использовать?
|
#6
|
|||
|
|||
Цитата:
Кому надо искать эту либу ?. Моя программа исключительно для очень узкого круга людей , которым не до разного там взлома!!!! Последний раз редактировалось starcon, 08.03.2016 в 20:47. |