В настоящее время у меня есть жесткий пароль и имя пользователя в моей программе. Эти учетные данные используются для доступа к файлам с удаленного сервера. Как я могу помочь предотвратить переход от исходного кода и выяснение имени пользователя и пароля? (В настоящее время я использую Proguard для скрытия кода, но я новичок в этом) Существуют ли альтернативы жесткому кодированию строк в приложении?Как сохранить пароль сервера?
Я пробовал искать, но почти все вопросы касаются проблемы хранения пароля и имени пользователя. У меня возникло трудное время, на самом деле хранящий главный пароль для сервера, к которому обращаются учетные данные пользователя.
я хотел бы предложить шифровать его и хранить его в приложении, и когда он соединяет сервер расшифровать его, а затем проверяет, можно даже добавить соль к нему, или вы можете сохранить динамика пароля всегда меняется в зависимости от некоторых факторов, таких как дата, ip, время ... и т. д., а также шифрование, я предлагаю вам сделать больше исследований по безопасности приложений Android, не может помочь вам с любыми готовыми решениями, поскольку я не знаю , – bakriawad
Все, что в APK небезопасно. И нет способа изменить это. Любой пользователь может легко просмотреть исходный код и получить любые жестко закодированные константы или ресурсы, содержащиеся в вашем APK. Хитрость заключается в том, чтобы просто забыть обо всем этом и перестать пытаться сделать ваш APK более безопасным. Скопируйте свой APK так, как будто он был открытым исходным кодом, он не может содержать какую-либо конфиденциальную информацию, которую вы не хотите, чтобы кто-либо другой имел. Существуют методы аутентификации, которые не требуют от вас хранить учетные данные сервера в вашем приложении, например [** OAuth **] (http://en.wikipedia.org/wiki/OAuth). –
@bakriawad Это не работает. Вы не можете хранить что-либо секретное или безопасное в своем APK. Не важно, что вы делаете. Любой потенциальный злоумышленник может просто посмотреть исходный код вашего приложения и просто воспроизвести процесс, который приложение использует для дешифрования/шифрования пароля. Любой, у кого достаточно знаний, чтобы декомпилировать APK и искать пароль, может все это вывести из строя. –