As senhas do Android usadas com o aplicativo de email incorporado são armazenadas em texto sem formatação dentro de um banco de dados SQLite. Isso contrasta com o aplicativo Gmail , que usa tokens de autenticação, conforme descrito na resposta de Sachin Sekhar .
Para o Jelly Bean, o local do banco de dados é:
/data/system/users/0/accounts.db
A localização acima varia com a versão do Android
Esse local em um dispositivo não raiz é protegido e protegido pelo sistema operacional.
Em dispositivos enraizados, os usuários já violaram tecnicamente sua própria segurança e, mesmo que não estivesse em texto simples, ainda seria trivial descriptografar, pois a chave precisa existir em algum lugar no dispositivo para fazê-lo.
Um membro da Equipe de Desenvolvimento do Android postou uma explicação que até hoje ainda se aplica:
Agora, com relação a essa preocupação em particular. A primeira coisa a esclarecer é que o aplicativo Email suporta quatro protocolos - POP3, IMAP, SMTP e Exchange ActiveSync - e com muito poucas exceções muito limitadas, todos esses protocolos mais antigos que exigem que o cliente apresente a senha ao servidor em todas as conexões. Esses protocolos exigem que retenhamos a senha pelo tempo que você desejar usar a conta no dispositivo. Protocolos mais recentes não fazem isso - é por isso que alguns dos artigos contrastam com o Gmail, por exemplo. Protocolos mais recentes permitem que o cliente use a senha uma vez para gerar um token, salvar o token e descartar a senha.
Peço que você reveja o artigo vinculado no comentário nº 38 , que é bem escrito e bastante informativo. Ele fornece algumas informações muito boas sobre a diferença entre "obscurecer" senhas e torná-las realmente "seguras". Simplesmente obscurecer sua senha (por exemplo, base64) ou criptografá-la com uma chave armazenada em outro local não tornará sua senha ou seus dados mais seguros. Um invasor ainda poderá recuperá-lo.
(Em particular, foram feitas algumas alegações sobre alguns dos outros clientes de email que não armazenam a senha em texto não criptografado. Mesmo quando isso é verdade, isso não indica que a senha é mais segura. Um teste simples: se você pode inicializar o dispositivo e ele começará a receber e-mail em suas contas configuradas, as senhas não serão realmente seguras. Elas serão ofuscadas ou criptografadas com outra chave armazenada em outro lugar.)
Além disso, como esse problema parece incomodar muitos usuários do Android, você também pode acompanhar esta discussão em Slashdot - Dados de senha do Android armazenados em texto sem formatação .