Crianças, vamos com calma!
Qualquer elemento computacional pode ser alterado por um expert.
Dentro de um dispositivo móvel existem diversos aspectos que podem ser usado para forjar uma chave com maior segurança. Isto é chamado de semente.
A semente pode (e deve) ser feita em 3 fatores, uma parte do usuário, uma parte do dispositivo e uma parte da aplicação. Caso alguém recupere um dos fatores, vão sempre faltar um dos dois.
O que você pode fazer é buscar os dados de hardware que você quiser, por exemplo, o IMEI ou o MAC address do Wifi ou do Bluetooth e tirar um HASH (SHA-256 pelo amor de Deus). Tire o hash (com o mesmo algoritmo) da Senha do usuário. Tire, finalmente, um hash de alguma informação da aplicação. Normalmente eu tiro o hash do binário da aplicação.
Você agora tem 3 hashes. Junte os 3 e tire um HASH final. Converta para Base64 ou em Hexa String e você tem uma chave segura e verificável. Como assim? Basta armazenar este dado tirado em um servidor ou na base que a aplicação use e refazer o processo. Ai você confere o resultado. Bateu, tá ok. Não bateu, explode o dispositivo, grita, chama a polícia, sei lá.
Tenho usado este tipo de mecanismo há anos e nunca fui vítima de “crackers”.
Abraços.