logo
logo
Да вроде все просто.. Нет? [Дим(м) 29/07/2004 11:47]
Возможно, я чего-то не учел, но на мой взгляд вполне подойдет и такая схема:
- пограмма генерирует достаточно большое случайное число (неплохо бы здесь использовать не просто rand), которое и использует для шифрования самой базы;
- само же это число дополнительно шифруется паролем каждого из пользователей и тоже дописывается в файл (т.е. оно будет сохранено в файле n раз, по числу пользователей, зашифрованное разными ключами).
Собственно, все.
 
Конечно же, пароли пользователей в базе хранить не надо. А проверять их правильность можно, например, по хэшу расшифрованного ими ключа, который можно хранить и незашифрованным. Ну или базы, расшифрованной расшифрованным предварительно ключом.
 
Существенным недостатком этого подхода является то, что его криптостойкость определяется самым _слабым_ ключом. Что, в принципе, характерно для всех схем подобного рода.
 
P.S. Раз уж речь зашла о нескольких пользователях, то, надо полагать, будут и админы? Т.е. пользователи будут отличаться правами? И, соответственно, добавлять новые учетные записи/сбрасывать забытые пароли смогут только `избранные`?