Как скрыть пароль базы данных в конфигурационном файле

Я работаю над проектом C ++, которому нужен доступ к базе данных для чтения ее входных данных.

До сих пор мы использовали имя пользователя по умолчанию (postgres) и пароль с фиксированным открытым текстом, сохраненные вместе со многими другими настройками в файле конфигурации на основе xml.

Теперь мне нужно скрыть пароль от пользователей, когда я предоставляю файл конфигурации.

К вашему сведению: область разработки — linux, база данных — postgresql. мы хотели бы предоставить пользователям конфигурационный файл для подключения к базе данных и использовать его, не зная пароля

Буду признателен, если вы предложите быструю и простую ссылку. (Небольшой материал для чтения также будет здорово)

благодарю вас

5

Решение

Вы не можете помешать злонамеренному пользователю получить этот пароль тем или иным образом, если вы отправите ему программу, содержащую его в любой форме.

Но есть два возможных решения:

  1. Пользователь и пароль, поставляемые с программой, имеют доступ только для чтения к базе данных;

  2. Программа не подключается напрямую к базе данных. Он запрашивает данные в серверном приложении, которое может не только извлечь эти данные из фактической базы данных без необходимости предоставлять пользователю какой-либо пароль, но также может выполнить надлежащие проверки безопасности, чтобы гарантировать, что этот пользователь имеет доступ только к тем данным, для которых он предназначен и т. Д.

6

Другие решения

Вы можете иметь другой «жестко закодированный» пароль, используемый для шифрования пароля в файле конфигурации. Таким образом, вы записываете зашифрованный пароль базы данных (db_password) в файл конфигурации, а затем, когда вам необходимо получить доступ к базе данных, вы дешифруете db_password с помощью вашего жестко заданного пароля.
Конечно, все еще возможно восстановить ваш пароль, например, с помощью декомпилятора, но это будет нелегко.

4

Мы используем MD5 для шифрования пароля в файле конфигурации.

-5
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector