Пароли Android, используемые во встроенном приложении электронной почты, хранятся в виде простого текста в базе данных SQLite. Это в отличие от приложения Gmail , которое использует токены аутентификации, как описано в ответе Сачина Сехара .
Для Jelly Bean расположение базы данных:
/data/system/users/0/accounts.db
Местоположение выше зависит от версии Android
Это местоположение на некорневом устройстве защищено и защищено операционной системой.
На корневых устройствах пользователи уже технически взломали свою собственную безопасность, и даже если бы она не была в открытом виде, ее все равно было бы тривиально расшифровать, поскольку для этого должен существовать ключ где-то на устройстве.
Член команды разработчиков Android опубликовал объяснение, которое до сих пор действует:
Теперь, что касается этой конкретной проблемы. Первое, что нужно уточнить, это то, что приложение электронной почты поддерживает четыре протокола - POP3, IMAP, SMTP и Exchange ActiveSync - и, за очень немногими, очень ограниченными исключениями, все это старые протоколы, которые требуют, чтобы клиент представил пароль серверу на каждом соединении. Эти протоколы требуют от нас сохранять пароль до тех пор, пока вы хотите использовать учетную запись на устройстве. Новые протоколы этого не делают - вот почему некоторые статьи контрастируют, например, с Gmail. Новые протоколы позволяют клиенту использовать пароль один раз для генерации токена, сохранения токена и сброса пароля.
Я призываю вас ознакомиться со статьей , на которую есть ссылка в комментарии № 38 , которая написана хорошо и достаточно информативно. Он дает очень хороший обзор различий между «скрывающими» паролями и делает их действительно «безопасными». Простое скрытие вашего пароля (например, base64) или шифрование его с помощью ключа, хранящегося в другом месте, не сделает ваш пароль или ваши данные более безопасными. Злоумышленник все равно сможет получить его.
(В частности, были сделаны некоторые заявления о том, что некоторые другие почтовые клиенты не хранят пароль в открытом тексте. Даже если это так, это не означает, что пароль более безопасен. Простой тест: можете ли вы загрузить устройства, и оно начнет получать электронную почту на ваши настроенные учетные записи, тогда пароли не будут действительно безопасными. Они либо запутываются, либо шифруются другим ключом, хранящимся где-то еще.)
Кроме того, поскольку эта проблема беспокоит многих пользователей Android, вы также можете следить за этим обсуждением на Slashdot - данные паролей Android, хранящиеся в виде простого текста .