Topic: Защита данных в sqlite.db файле

Добрый вечер!
Прочитал на английской версии форума темку про защиту паролей:

===========================================
I would like to hash passwords prior to storing in the database and/or encrypting sensitive data prior to storing.

--------

You can use function StrToMD5()

sHash := StrToMD5(sPassword);
=============================================

и тоже озаботился этим, т.к. легко любым SQLite browser'ом открыть SQLite.db файл и прочесть все пароли из таблицы users, включая админский.

Подскажите, плз, эта функция StrToMD5() работает в версии 1.46? И если можно - простенький примерчик как ее применять для криптования данных (например паролей в таблице).

Re: Защита данных в sqlite.db файле

Приветствую,


к сожалению это кардинально не решит проблему безопасности, так как файл базы данных все так же, можно будет открыть любым SQLite browser'ом, и прочитать данные из таблиц, так как данные не шифруются.


Шифрование базы данных в будущем планируется.

Dmitry.

3 (edited by zoomix 2014-12-20 21:53:54)

Re: Защита данных в sqlite.db файле

Сейчас почитал, что такое хеш-функция MD5. Если эта функция работает, то почему нельзя хранить в базе данных, в качестве логинов/паролей результат преобразованный этой хеш-функцией, а не сами логины/пароли? Только сделать скрипт, для преобразования туда/сюда, чотбы вручную это не считать и не вводить по циферке... Т.е. заводим нового юзера в базу, скрипт перехватывает введенные логин и пароль, преобразуя их в хеш-коды, записывая их в качестве логина и пароля. А затем, когда наш юзер заходит в базу, вводя свои логин и пароль, они также перехватываются и преобразуются в хеш-коды, и далее сравниваются с уже имеющимися записями там...
Так же возможно сделать?  И пусть тогда среднестатический юзер смотрит SQLite browser'ом хоть всю базу, чот он там увидит?
"f4b492309d2c2741d27cb99c9b6b242a" вместо Петров!!! А дюже грамотному юзеру, который поймет, что это такое и как это распреобразовать ))) обратно, наши данные и даром не нужны...
Тем более, как я понимаю можно сделать и двойной и тройной хеш от хеша...

Вот бы еще примерчик по скрипту c хеш-преобразованием на базе примера LoginEx and Logs!!!

Re: Защита данных в sqlite.db файле

zoomix
Обычно имя пользователя хранится в открытом виде, только вместо паролей хранят их хеши, сделал для вас пример:

Post's attachments

Attachment icon LoginEx with hash.zip 39.12 kb, 1278 downloads since 2014-12-21 

Dmitry.

Re: Защита данных в sqlite.db файле

Супер! Спасибо!