Ответ 1
Ключевым здесь является различие между Неявные намерения и Явные намерения. В вашем примере используется явное намерение, так как вы указываете точный класс, который хотите запустить. Это нормально, потому что явные намерения не могут быть перехвачены и будут оставаться в вашем приложении.
Неявные намерения, однако, открывают несколько возможных атак. Эта статья более подробно рассказывает об этом. Я бы очень рекомендовал против использования неявных намерений передать любую конфиденциальную информацию.
Явные намерения указали компонент (через setComponent (ComponentName) или setClass (Context, Class)), который предоставляет точный класс, который должен быть запущен.
Неявные намерения не указали компонент; вместо этого они должны содержать достаточную информацию для системы, чтобы определить, какой из доступных компонентов лучше всего выполнить для этого намерения.
Как я уже сказал, для вашего примера в вопросе передача пароля через Intent относительно безопасна, поскольку никакое другое приложение не может перехватить его во время выполнения. Но важно отметить, что это не всегда так, и использование неявных намерений теоретически допускает Intent Interception и раскрывает конфиденциальную информацию.
Изменить:
Что касается сохранения Extent Extras на диске, да, это риск. Однако имейте в виду, что если у кого-то есть root-доступ к устройству и он использует его, чтобы попытаться выполнить поиск на диске для этой постоянной информации о намерениях, возможно, им будет проще получить такую же информацию. Независимо от того, что вы делаете, кто-то с корневым доступом к физическому устройству, вероятно, сможет отключить этот пароль, если вы не сделаете очень отличное шифрование.
Моя рекомендация в отношении общей безопасности - попытаться не обрабатывать пароли напрямую в любом долгосрочном или постоянном контексте. Пароли должны использоваться только во время процесса регистрации и немедленно отбрасываться (при условии, что вы выполняете аутентификацию с сервера). Поэтому при нормальном использовании приложения (законного пользователя с реальным паролем) вам не нужно беспокоиться о том, что злоумышленник проверяет память устройства, потому что к тому времени, когда злоумышленник завладеет устройством, пароль долгое время удалялся из памяти.