Хранение учетных данных базы данных MongoDB в приложении Android - PullRequest
2 голосов
/ 06 февраля 2020

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

У меня есть учетные данные, хранящиеся в файле конфигурации приложения android, которое я читаю внутри приложения.

mongoDBConnection:
  credentials:
    username: "test"
    password: "test"

  database: "admin"
  connectionString: "mongodb://localhost:27017"

Приложение работает, как и ожидалось, при установке на телефон, меня беспокоит то, что если я отправлю приложение, кто-нибудь сможет декомпилировать приложение и получить обратно учетные данные?

Чтобы решить проблема заключается в том, что приложение android может взаимодействовать с бэкэндом, который будет направлять запросы в mongoDB, и моно go учетные данные хранятся в этом бэкэнде. требуется серверная часть или в самом приложении android есть какой-либо способ сохранить учетные данные, чтобы он не раскрывался при декомпиляции?

Ответы [ 2 ]

2 голосов
/ 06 февраля 2020

если я отправлю приложение, может ли кто-нибудь декомпилировать приложение и получить обратно учетные данные?

Да.

есть ли способ в android само приложение для хранения учетных данных таким образом, чтобы оно не раскрывалось при декомпиляции?

Нет, это невозможно. Вы можете запутать их, чтобы сделать это сложнее, но невозможно предотвратить извлечение их достаточно опытным / решительным злоумышленником, если они есть в приложении.

Чтобы решить эту проблему, приложение android может взаимодействовать с бэкэндом, который будет направлять запросы в mongoDB и моно go учетные данные хранятся в этом бэкэнде.

Это единственный способ сделать это и правильное решение.

0 голосов
/ 06 февраля 2020

если я отправлю приложение, может ли кто-нибудь декомпилировать приложение и получить обратно его учетные данные?

Технически, да. Но если вы используете proguard, кому-то будет очень сложно определить ваши учетные данные в БД. Это может быть ваша первая линия защиты

. Есть ли в самом приложении android какой-либо способ сохранить учетные данные таким образом, чтобы он не раскрывался при декомпиляции?

Да. Используйте Keystore. Следуйте этому статья

...