Estou trabalhando em um aplicativo Android, no qual desejo integrar um recurso de postagem no Facebook. Eu baixei o SDK do Facebook-Android e obtive o readme.md (arquivo de texto) lá, no qual é mencionado para gerar o hash da chave para o Android. Como eu o gero?
229
Respostas:
Aqui estão os passos
Faça o download do openssl a partir do código do Google (se você possui uma máquina de 64 bits, deve fazer o download do openssl-0.9.8e X64, não a versão mais recente)
Extraia-o. crie uma pasta - OpenSSL em C: / e copie o código extraído aqui.
detectar o caminho do arquivo debug.keystore. Se você não encontrou, faça uma pesquisa em C: / e use o Path no comando na próxima etapa.
detectar seu caminho keytool.exe, vá para o prompt de comando dir / in e execute este comando em 1 linha
Para mais informações visite aqui
fonte
$
.[EDIT 2020] -> Agora eu recomendo totalmente a resposta aqui , muito mais fácil usando o android studio, mais rápido e sem necessidade de escrever nenhum código - o abaixo estava de volta nos dias de eclipse :) -.
Você pode usar esse código em qualquer atividade. Ele registrará a hashkey no logcat, que é a chave de depuração. Isso é fácil e é um alívio do que usar SSL.
Você pode excluir o código depois de conhecer a chave;)
fonte
keytool
comando, eu estava obtendo os hashes de chave errados (não sei por que, decidi que não me importava o suficiente para investigar). Isso funcionou e levou literalmente 5 minutos para obter os hashes de chave de depuração e liberação. +1Criei uma pequena ferramenta para Windows e Mac OS X. Basta inserir o arquivo de armazenamento de chaves e obter a chave de hash.
Se você deseja o arquivo debug.keystore padrão, use o alias e a senha padrão. Senão, use seu próprio arquivo e valores de keystore.
Confira, baixe a versão do Windows ou a versão do Mac OS X (o Dev-Host pode estar inativo às vezes ... então, se o link estiver quebrado, faça uma MP e eu o corrigirei).
Espero que ajude vocês ...
31 de dezembro de 2014 - EDIT: Alterado host para AFH. Por favor, deixe-me saber se os links estão quebrados
21/11/2013 - EDIT:
Conforme solicitado pelos usuários, adicionei um local padrão de keystore e um botão DONATE. Sinta-se livre para usá-lo se eu o ajudar. :)
fonte
keytool
linha de comando? Não deveria produzir resultados idênticos, se aplicado ao mesmo arquivo de armazenamento de chaves?As instruções atualmente no Tutorial para Android do Facebook não funcionam bem no Windows . O exemplo deles mostra como canalizar a saída do keytool para o openssl, mas se você tentar isso no Windows, a saída não será válida por algum motivo. Descobri que precisava usar arquivos intermediários para que funcionasse corretamente. Aqui estão as etapas que funcionaram para mim:
Comece baixando o openssl para Windows do Google.
Após a execução desses comandos, o hash válido é armazenado no arquivo base64.txt. Copie e cole isso nas configurações do seu aplicativo no Facebook.
fonte
Isto é o que é dado na página oficial do Facebook :
Deixe-me quebrar esse comando em fragmentos.
Procure
"keytool.exe"
. Você pode pesquisar isso na unidade C :. Você pode encontrá-lo em"java jdk"
ou"java jre"
. Se você instalou várias versões, escolha qualquer.Abra um prompt de CMD e vá para o diretório acima, onde você encontrou
"keytool.exe"
.Clipe no "exe`" e cole o comando acima fornecido na página do Facebook.
Você receberá um erro ao digitar que o OpenSSL não é reconhecido como no comando de entrada e saída. Solução: Faça o download do "Openssl" no OpenSSL (se você possui uma máquina de 64 bits, deve fazer o download do openssl-0.9.8e X64 ). Extraia e salve em qualquer lugar ... Salvei na unidade C: na
OpenSSl
pastaSubstitua o openssl no comando acima, no qual você estava recebendo um erro do OpenSSL por "C: \ OpenSSL \ bin \ openssl" nos dois locais após o canal "|".
Se for solicitada uma senha, digite
android
.E você receberá sua chave de hash. Para mais etapas, consulte novamente a página do Facebook.
fonte
Adicione esse código à
onCreate
sua atividade, ele imprimirá o hash sob a tag KeyHash no seu logCatVocê pode adicionar várias teclas de hash à sua conta, portanto, se você estiver executando a depuração , não se esqueça de executá-la novamente no modo de lançamento .
fonte
Para obter o código hash da chave do Android, siga estas etapas:
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\
seu nome de usuário\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
fonte
myKeyStore
, forneça o caminho da sua chave de lançamento. O código acima é para chave de depuraçãoA solução mais simples que encontrei é esta:
Procure a linha no log que se parece com isso:
Copie "abcdefgHIJKLMN + OPqrstuvwzyz" e cole-o na área Facebook Hash de chaves do Android.
fonte
KeyHash: XWwXXXXX/5xxxxxxxxxxx=
no log e me ajudou!Você pode obter o hash da chave SHA-1. É muito simples: você precisa obter sua chave SHA-1 (APK assinado) da Play Store, abaixo da imagem.
Agora copie a chave SHA-1 e cole-a neste site http://tomeko.net também verifique a imagem abaixo para obter seu Key Hash.
fonte
Eu fiz dessa maneira para o Linux OS e Windows OS :
Linux:
keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64
Altere o nome do alias e o keystore com o caminho como sua exigência.
O Terminal solicitaria a Senha do Keystore. Você deve fornecer uma senha para o mesmo Keystore .
Então, finalmente, você obteria o Release Hashkey .
Janelas:
Etapas para liberar Hashkey :
keytool -exportcert -alias **myaliasname** -keystore **"C:\Users\hiren.patel\Desktop\mykeystore.jks"** | "C:\openssl-0.9.8e_X64\bin\openssl.exe" sha1 -binary | "C:\openssl-0.9.8e_X64\bin\openssl.exe" base64
Altere o nome do alias e o keystore com o caminho como sua exigência.
Nota:
Por favor, coloque seus dados onde eu marquei entre ** **.O Terminal solicitaria a Senha do Keystore. Você deve fornecer uma senha para o mesmo Keystore .
Então, finalmente, você obteria o Release Hashkey .
Feito
fonte
baixar openSSL para Windows aqui você pode encontrar 64 bits e 32 bits aqui
extrair o arquivo baixado
fonte
android
fornece um hash de 24 dígitos e digitara
fornece um hash de 28 dígitos. Não faço ideia do porquê!Você precisa criar um armazenamento de chaves pela keytool para aplicativos assinados para android, como o procedimento descrito no Site Android, instalar o cygwin e instalar o openssl a partir do código do Google. Basta executar o comando a seguir e você obterá o hash chave para android e, em seguida, coloque essa chave de hash no aplicativo do facebook que você criou. E então você pode acessar o aplicativo do Facebook por meio do Aplicativo Android para publicar um mural ("publish_stream") poderia ser um exemplo.
$ keytools -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binário | openssl base64
Você precisa executar o comando acima do cygwin.
fonte
Faça o download do openSSL -> Instalar -> ele normalmente seria instalado em C: \ OpenSSL
abra cmd e digite
para verificar a versão do jdk, vá para C: / files de programas / java / jdk_version
Ele solicitará a senha, que é android.
fonte
Simplesmente abra seu arquivo de atividade principal e crie a função de menção abaixo:
1.1 Execute seu aplicativo, isso gerará uma chave Hash para seu aplicativo.
Agora, abra o log cat e pesquise com "KeyHash" e copie a chave de hash.
Se você gerar a chave Hash, poderá remover esta função.
fonte
1) Crie uma chave para assinar seu aplicativo e lembre-se do alias.
2) Instale o OpenSSL.
3) Coloque a pasta bin do OpenSSL no seu caminho.
4) Siga as etapas mencionadas em "Configuração Single Sign-On" no FB-Android-SDK página , e gerar o seu Hash Key. Certifique-se de colocar o alias correto e o nome do arquivo de armazenamento de chaves.
5) Crie um aplicativo no Facebok e, na guia Dispositivos Móveis, insira essa Chave Hash.
fonte
Documentação oficial no site do desenvolvedor do facebook :
fonte
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
e ainda estou recebendo hash da chave não corresponde a nenhum hash de chave armazenadaIsso funcionou para mim ...
Passos:
fonte
Para Linux
Terminal aberto:
Para construção de depuração
você encontrará debug.keystore da pasta ".android", copie-o e cole-o na área de trabalho e execute o comando acima
Para versão Build
NOTA: Verifique se, em ambos os casos, ele deve solicitar a senha. Se não solicitar senha, significa que algo está errado no comando.
fonte
Para um aplicativo Android
Esse código é usado para obter a chave de hash em seu aplicativo Android para integração com o Facebook. Eu testei todos os dispositivos e está funcionando. Mude apenas o nome do pacote deste código:
fonte
Como respondi em um problema semelhante, achei que isso funcionava para mim:
apkname.apk
arquivo do qual você deseja conhecer o hash para a pasta ' Java \ jdk1.7.0_79 \ bin 'keytool -list -printcert -jarfile apkname.apk
SHA1
valor e converta-o usando este sitefonte
A solução mais simples:
fonte
Para gerar um hash da sua chave de liberação, execute o seguinte comando no Mac ou Windows, substituindo o alias da chave de liberação e o caminho para o keystore.
No Windows, use:
Este comando deve gerar uma string de 28 caracteres. Lembre-se de que COPIAR e COLAR este Hash de chave de versão nas configurações do Android do seu aplicativo para Facebook.
image: fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png
Consulte: https://developers.facebook.com/docs/android/getting-started#release-key-hash e http://note.taable.com
fonte
Use isso para o hash da chave de impressão no kotlin
fonte
Resolvi o meu também no Android Studio, mas com uma abordagem ligeiramente diferente.
Para obter o valor SHA-1 no Android Studio.
O valor SHA-1 é semelhante a este CD: A1: EA: A3: 5C: 5C: 68: FB: FA: 0A: 6B: E5: 5A: 72: 64: DD: 26: 8D: 44: 84
e abra http://tomeko.net/online_tools/hex_to_base64.php para converter seu valor SHA1 em base64. É isso que o Facebook exige para obter o hash gerado "******************** =" e copiar o hash da chave no console do aplicativo do facebook.
Parte desta resposta foi retirada daqui Github Link
fonte
Existem dois métodos disponíveis: um complexo e o mais fácil
Métodos um: (pouco complexo)
primeiro, é necessário fazer o download do ssl
64bit
ou32bit
, portanto, lembre-se de baixar o arquivo com o nome que contém oe
código de versão após openssl-0.9.8e_X64.zip OU openssl-0.9.8e_WIN32.zip não com ok
código de versão posterior,e coloque no diretório AndroidStudio / jre / bin, se você não souber onde colocar, poderá encontrar esse diretório clicando com o botão direito do mouse no atalho do android studio como:
agora você conseguiu duas coisas necessárias em um só lugar, mas ainda precisa encontrar o caminho para
debug.keystore
isso, que sempre pode ser encontrado no"C:\Users\yourusernamehere\.android\debug.keystore"
,Como tudo está configurado, vamos organizar o comando que você deseja executar para a geração da chave de hash
base64 format
e seu comando será semelhante a estesolicitará que você digite uma senha para o debug.keystore, que é android por padrão. se você estiver usando sua própria chave, a senha também será sua. a saída ficará assim se tudo correr bem como o esperado, espero que ajude
Segundo método (Respectivamente fácil)
se você não quiser seguir todo o procedimento acima, use o seguinte método para registrar a haskey:
resultado:
fonte
A melhor abordagem é usar o seguinte código:
Mas fiquei muito frustrado com o fato de não haver uma ferramenta simples para gerar o HashKey para o aplicativo do Facebook. Cada vez que eu precisava brincar com o Openssl e o Keytool ou usar um código para obter o hash da assinatura ...
Então, eu escrevi um KeyGenTool simples que fará esse trabalho para você: -> KeyGenTool no Google Play <-
Aproveitar :)
fonte
Cometi um pequeno erro que deveria ser lembrado. Se você estiver usando seu keystore, dê seu nome alternativo, não androiddebugkey ...
Eu resolvi meu problema. Agora, se o Facebook estiver instalado no meu dispositivo, meu aplicativo ainda estará recebendo dados sobre a integração de login do Facebook. Apenas se preocupe com sua chave de hash.
Por favor veja abaixo.
Então aperte Enter - ele solicitará a senha e, em seguida, digite sua senha do keystore, não o Android.
Legal.
fonte
fonte
Código Kotlin para obter a chave Hash
Por favor, não se esqueça de gerar chaves no ambiente Debug and Release, pois elas mudam conforme a configuração de compilação.
fonte
tente isto:
1) obtenha a chave de hash usando a linha de comando (Documento oficial: https://developers.facebook.com/docs/android/getting-started )
OU
2) obter chave de hash usando o código
fonte