Olá, pessoal!
Ultimamente venho compartilhando algumas pequenas tarefas nas quais precisamos atuar em nosso dia a dia, e como de praxe, venho por meio deste exemplificar de forma bem simples como obter o Key Hash dos aplicativos na plataforma Android.
Para autenticar a troca de informações entre o seu aplicativo e o Facebook, você precisa gerar um Key Hash adicioná-lo às configurações do Android no número de identificação do aplicativo do Facebook. Sem essa informação o seu aplicativo não irá se comportar corretamente.
Existem duas formas de obter o Key Hash:
- Linha de Comando (Prompt ou Terminal)
- Se você não tem o OpenSSL será necessário fazer download e salva-lo em alguma pasta local (Ex.: C:\).
- Caso você não tenha o Keytool declarado em suas variáveis de ambiente, navegue até a pasta onde encontra-se o mesmo (Ex.: C:\Program Files\Java\jdk1.8.0_131\bin), abra o Prompt de Comando a partir deste local e entre com o seguinte comando: keytool -exportcert -alias androiddebugkey -keystore “LOCAL DO ARQUIVO debug.keystore” | “LOCAL DO OpenSSL” sha1 -binary |”LOCAL DO OpenSSL” base64
- Em tempo de execução (Hard Coded)
Dentro da classe MainActivity insira o seguinte trecho de código:
protected override void OnCreate(Bundle bundle) { PackageInfo info = this.PackageManager.GetPackageInfo("NOME DO PACOTE DO APLICATIVO", PackageInfoFlags.Signatures); foreach (Android.Content.PM.Signature signature in info.Signatures) { MessageDigest md = MessageDigest.GetInstance("SHA"); md.Update(signature.ToByteArray()); string keyhash = Convert.ToBase64String(md.Digest()); Console.WriteLine("KeyHash:", keyhash); } }
Por hoje é só, espero ter ajudado à todos.
Muito obrigado!