Programing

Android-Facebook 앱의 키 해시

lottogame 2020. 4. 22. 08:07
반응형

Android-Facebook 앱의 키 해시


Facebook 게시 기능을 통합하려는 Android 앱을 개발 중입니다. Facebook-Android SDK를 다운로드했고 거기에 readme.md (텍스트 파일)가 있는데 여기에 Android 용 키 해시를 생성한다고 언급되어 있습니다. 어떻게 생성합니까?


단계는 다음과 같습니다.

  1. Google 코드 에서 openssl 다운로드 (64 비트 시스템을 사용 하는 경우 최신 버전이 아닌 openssl-0.9.8e X64를 다운로드 해야 함 )

  2. 추출하십시오. C : /에 OpenSSL 폴더를 만들고 여기에 추출 된 코드를 복사하십시오.

  3. debug.keystore 파일 경로를 감지하십시오. u를 찾지 못하면 C : /에서 검색하고 다음 단계의 명령에서 경로를 사용하십시오.

  4. keytool.exe 경로를 감지하고 명령 프롬프트에서 해당 dir /로 이동 하여이 명령을 한 줄로 실행하십시오.

    $ keytool -exportcert -alias androiddebugkey -keystore "C : \ Documents and Settings \ Administrator.android \ debug.keystore"| "C : \ OpenSSL \ bin \ openssl"sha1 -binary | "C : \ OpenSSL \ bin \ openssl"base64

    • 암호를 묻고 안드로이드를 넣습니다.
    • 그게 다야. 너는 키 해시를 얻을 것이다.

자세한 내용 은 여기를 방문하십시오


모든 활동에서이 코드를 사용할 수 있습니다. 디버그 키인 logcat에 해시 키를 기록합니다. 이것은 쉽고 SSL을 사용하는 것보다 안심입니다.

PackageInfo info;
try {
    info = getPackageManager().getPackageInfo("com.you.name", PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String something = new String(Base64.encode(md.digest(), 0));
        //String something = new String(Base64.encodeBytes(md.digest()));
        Log.e("hash key", something);
    }
} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}

키를 알고 나면 코드를 삭제할 수 있습니다.;)


Windows 및 Mac OS X 용 작은 도구를 만들었습니다. 키 저장소 파일을 던져 해시 키를 얻으십시오.

기본 debug.keystore 파일을 원하는 경우 기본 별명 및 비밀번호를 사용하십시오. 그렇지 않으면, 자신의 키 저장소 파일과 값을 사용하십시오.

그것을 확인 Windows 버전을 다운로드 또는 맥 OS X 버전을 다운로드 (데브 - 호스트 링크가 깨진 경우 그래서, PM 나와 내가 고칠거야 ... 때로는 아래로 수 있습니다).

도움이 되길 바랍니다.

2014 년 12 월 31 일-편집 : 호스트를 AFH로 변경했습니다. 링크가 끊어지면 알려주세요

2013 년 11 월 21 일-편집 :

사용자가 요청한대로 기본 키 저장소 위치와 DONATE 버튼을 추가했습니다 . 도움이 되었으면 언제든지 사용하십시오 . :)

스크린 샷 스크린 샷 2


현재 Facebook의 Android 자습서 에있는 지침 Windows 에서 제대로 작동하지 않습니다 . 그들의 예제는 keytool 출력을 openssl로 파이프하는 방법을 보여 주지만 Windows에서 이것을 시도하면 어떤 이유로 든 출력이 유효하지 않습니다. 제대로 작동하려면 중간 파일을 사용해야한다는 것을 알았습니다. 나를 위해 일한 단계는 다음과 같습니다.

Google에서 openssl for Windows다운로드 하여 시작하십시오 .

C:\Users\Me>keytool -exportcert -alias my_key -keystore my.keystore -storepass PASSWORD > mycert.bin

C:\Users\Me>openssl sha1 -binary mycert.bin > sha1.bin

C:\Users\Me>openssl base64 -in sha1.bin -out base64.txt

이 명령을 실행하면 유효한 해시가 base64.txt 파일에 저장됩니다. 이를 복사하여 Facebook의 앱 설정에 붙여 넣습니다.


다음은 Facebook 공식 페이지 에서 제공되는 내용입니다 .

   keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

이 명령을 조각으로 나누겠습니다.

  1. 를 찾으십시오 "keytool.exe". C : 드라이브에서 검색 할 수 있습니다. "java jdk"또는 에서 찾을 수 있습니다 "java jre". 여러 버전을 설치 한 경우 원하는 버전을 선택하십시오.

  2. CMD 프롬프트를 열고 찾은 위의 디렉토리로 이동하십시오 "keytool.exe".

    "exe`"를 클립하고 Facebook 페이지에 제공된 위의 명령을 붙여 넣습니다.

  3. OpenSSL이 입력 출력 명령에서 인식되지 않는다고 입력하면 오류가 발생합니다. 해결책 : OpenSSL 에서 "Openssl"을 다운로드하십시오 (64 비트 시스템 인 경우 openssl-0.9.8e X64를 다운로드 해야 함 ). 압축을 풀고 어디서나 저장하십시오 ... OpenSSl폴더 의 C : 드라이브에 저장했습니다.

  4. 파이프 다음의 두 위치에서 OpenSSL 오류가 발생한 위의 명령에서 openssl을 "C : \ OpenSSL \ bin \ openssl"로 바꾸십시오. "|".

  5. 비밀번호를 묻는 프롬프트가 표시되면을 입력하십시오 android.

그리고 당신은 당신의 해시 키를 얻을 것이다. 추가 단계는 Facebook 페이지를 다시 참조하십시오.


이 코드를 onCreate활동에 추가 하면 logCatKeyHash 태그 아래에 해시가 인쇄됩니다.

try {
    PackageInfo info = getPackageManager().getPackageInfo(
                           getPackageName(),
                           PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
}
catch (NameNotFoundException e) {

}
catch (NoSuchAlgorithmException e) {

}

계정에 여러 개의 해시 키를 추가 할 수 있으므로 디버그에서 실행중인 경우 릴리스 모드에서 다시 실행하는 것을 잊지 마십시오 .


Android 키 해시 코드를 얻으려면 다음 단계를 수행하십시오.

  1. Windows 용 OpenSSL을 여기에서 다운로드 하십시오.
  2. 이제 C 드라이브에 압축을 풉니 다
  3. CMD 프롬프트를 엽니 다
  4. 유형 cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. 그런 다음 keytool -export -alias myAlias -keystore C:\Users\사용자 이름 만 입력 하십시오\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
  6. 끝난

내가 찾은 가장 간단한 해결책은 다음과 같습니다.

  • 로그 고양이를여십시오
  • Android SDK를 사용하여 Facebook에 액세스하십시오.
  • 로그에서 다음과 같은 줄을 찾으십시오.

    04-24 01:14:08.605: I/System.out(31395): invalid_key:Android key mismatch. 
    Your key "abcdefgHIJKLMN+OPqrstuvwzyz" does not match the allowed keys specified in your
    application settings. Check your application settings at 
    http://www.facebook.com/developers
    
  • "abcdefgHIJKLMN + OPqrstuvwzyz"를 복사하여 Facebook Android Key Hash 영역에 붙여 넣습니다.


나는 리눅스 OSWindows OS에 대해 이런 식으로 수행했다 .

리눅스 :

  • Openssl 다운로드
  • 터미널 열기
  • keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64

경로 이름을 요구 사항으로 사용하여 별칭 이름 과 키 저장소를 변경 하십시오.

터미널은 Keystore의 비밀번호요구 합니다 . 동일한 키 저장소에 비밀번호제공해야합니다 .

마지막으로 Release Hashkey를 얻게 됩니다.

윈도우 :

해시 해제 단계 :

  • Openssl 다운로드 ( 여기 에서 다운로드 ), 64 비트 OS 용으로 다운로드했습니다. 자세한 내용은 여기를 참조 하십시오.
  • 다운로드 한 zip 파일을 C : \ 드라이브에만 추출
  • 명령 프롬프트 열기
  • 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

경로 이름을 요구 사항으로 사용하여 별칭 이름 과 키 저장소를 변경 하십시오.

노트 :

** ** 사이에 표시된 곳에 세부 정보를 입력하십시오.

터미널은 Keystore의 비밀번호요구 합니다 . 동일한 키 저장소에 비밀번호제공해야합니다 .

마지막으로 Release Hashkey를 얻게 됩니다.

끝난


  • 여기에서 Windows 용 openSSL을 다운로드하십시오 여기에서 64 비트 및 32 비트를 찾을 수 있습니다

  • 다운로드 한 파일을 추출하십시오

  • C 드라이브에 폴더 이름 openSSL을 작성하십시오.
  • 추출 된 모든 항목을 openSSL 폴더 (bin, include, lib, openssl.cnf)에 복사하십시오.
  • 안드로이드 디버그 키 저장소를 얻으십시오. 기본 위치는

C : \ Users \ username \ .android \ debug.keystore

  • 이제 명령 프롬프트를 가져 와서이 코드를 붙여 넣으십시오.

keytool -exportcert -alias androiddebugkey -keystore C : \ 사용자 \ 사용자 이름 .android \ debug.keystore | "C : \ openSSL \ bin \ openssl"sha1-이진 | "C : \ openSSL \ bin \ openssl"base64

  • Enter 키를 누르면 28 자리 키 코드가 표시됩니다

안드로이드 사이트에 설명 된 절차와 같이 서명 된 안드로이드 용 앱의 키 도구로 키 저장소를 생성 한 다음 cygwin을 설치해야하며 Google 코드 에서 openssl을 설치 한 다음 다음 명령을 실행하면 해시가 표시됩니다 Android 용 키를 누른 다음 해시 키를 작성한 페이스 북 애플리케이션에 넣습니다. 그런 다음 게시 벽 ( "publish_stream")에 대한 Android 애플리케이션을 통해 페이스 북 애플리케이션에 액세스 할 수 있습니다.

$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1-이진 | openssl base64

cygwin에서 위의 명령을 실행해야합니다.


openSSL 다운로드 -> 설치 -> 일반적으로 C : \ OpenSSL에 설치됩니다 .

그런 다음 cmd를 열고 입력하십시오.

cd../../Program Files (Enter)

java (Enter)

dir (Enter)

cd jdk1.6.0_17 (varies with jdk versions) (Enter)

jdk 버전을 확인하려면 C : / program files / java / jdk_version으로 이동하십시오.

cd bin (enter)

keytool -exportcert -alias androiddebugkey -keystore C:Users\Shalini\.android\debug.keystore | "C:\OpenSSL\bin\openssl sha1 -binary | "C:\OpenSSL\bin\openssl base64 (Enter)

안드로이드 인 암호를 묻습니다.


  1. 기본 활동 파일을 열고 아래 언급 기능을 작성하십시오.

         try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "your.application.package.name",
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (PackageManager.NameNotFoundException e) {
    
    } catch (NoSuchAlgorithmException e) {
     }
    

1.1 응용 프로그램을 실행하면 응용 프로그램에 대한 해시 키가 생성됩니다.

  1. 이제 log cat을 열고 "KeyHash"로 검색하고 해시 키를 복사하십시오.

  2. 해시 키를 생성하면이 기능을 제거 할 수 있습니다.


1) 응용 프로그램에 서명하는 키를 만들고 별칭을 기억하십시오.

2) OpenSSL을 설치하십시오.

3) OpenSSL의 bin 폴더를 경로에 넣으십시오.

4) FB-Android-SDK 페이지의 "싱글 사인온 설정"에 언급 된 단계에 따라 해시 키를 생성하십시오. 올바른 별명 및 키 저장소 파일 이름을 입력하십시오.

5) Facebok에서 응용 프로그램을 만들고 모바일 장치 탭에서이 해시 키를 입력하십시오.


페이스 북 개발자 사이트의 공식 문서 :

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Add code to print out the key hash
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.facebook.samples.hellofacebook", 
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

keytool -exportcert -alias androiddebugkey -keystore       C:\Users\pravin\.android\debug.keystore | "H:\OpenSSL\bin\openssl" sha1 -binary | "H:\OpenSSL\bin\openssl" base64

이것은 나를 위해 일했다 ...

단계 :

1) Open command line go to - > java Keytool..... for me C:\Program Files\Java\JDK1.7\bin
2) Download OpenSSL from google
3) paste this with changing your paths -
   keytool -exportcert -alias androiddebugkey -keystore C:\Users\pravin\.android\debug.keystore | "H:\OpenSSL\bin\openssl" sha1 -binary | "H:\OpenSSL\bin\openssl" base64 

    ....................   give proper debug.keystore path and openSSL path .. 

4) Finley it may be ask u password .. so give password -> android   ...
5) you will get 28 characters that will be your has key

리눅스

터미널 열기 :

디버그 빌드

keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64

".android"폴더에서 debug.keystore찾아 데스크탑 에서 복사하여 붙여넣고 위 명령을 실행하십시오.

릴리스 빌드

keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64

참고 : 두 경우 모두 암호를 요구해야합니다. 암호를 요구하지 않으면 명령에 문제가 있음을 의미합니다.


Android 애플리케이션의 경우

이 코드는 Facebook 통합을 위해 Android 애플리케이션에서 해시 키를 가져 오는 데 사용됩니다. 모든 장치를 테스트했으며 작동합니다. 이 코드의 패키지 이름 만 변경하십시오.

private void facebookHashKey() {

    try {
        PackageInfo info = getPackageManager().getPackageInfo("com.app.helpcove", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String hashCode  = Base64.encodeToString(md.digest(), Base64.DEFAULT);
            System.out.println("Print the hashKey for Facebook :"+hashCode);
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
}

으로 대답 유사한 문제에 내가 나를 위해 작동하는이 발견 :

  • 복사 apkname.apk당신이 '의 해시 알고 싶은 파일을 자바 \ jdk1.7.0_79 \ 빈 '폴더를
  • 이 명령을 실행 keytool -list -printcert -jarfile apkname.apk
  • SHA1사이트를 사용하여 값을 복사 하고 변환
  • 변환 된 Keyhash 값을 사용하십시오 ( 예 : zaHqo1xcaPv6CmvlWnJk3SaNRIQ = )

릴리스 키의 해시를 생성하려면 릴리스 키 별명과 키 저장소 경로를 대체하여 Mac 또는 Windows에서 다음 명령을 실행하십시오.

Windows에서는 다음을 사용하십시오.

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

이 명령은 28 개의 characher 문자열을 생성해야합니다. 이 릴리스 키 복사 하고 붙여 넣기 하면 Facebook 앱 ID의 Android 설정에 해시됩니다.

이미지 : fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png

https://developers.facebook.com/docs/android/getting-started#release-key-hashhttp://note.taable.com 에서 참조하십시오.


kotlin에서 프린트 키 해시에 사용

try {
        val info = context.getPackageManager().getPackageInfo(context.packageName,
                PackageManager.GET_SIGNATURES);
        for (signature in info.signatures) {
            val md = MessageDigest.getInstance("SHA")
            md.update(signature.toByteArray())
            Log.d("Key hash ", android.util.Base64.encodeToString(md.digest(), android.util.Base64.DEFAULT))
        }
    }catch (e:Exception){

    }

가장 간단한 해결책 :

  1. 해시 키를 추가하지 말고 다른 모든 것을 구현하십시오.
  2. 페이스 북 로그인을 누르면 "잘못된 키 해시입니다. 키 해시"xxx "가 저장된 키와 일치하지 않습니다"라는 오류가 발생합니다. ...
  3. 페이스 북 앱 대시 보드를 열고 해시 "xxx ="(오류에서 "xxx"해시 + "="부호)를 추가하십시오.

가장 좋은 방법은 다음 코드를 사용하는 것입니다.

private void getHashKey(String pkgName)
{
    try
    {
        PackageInfo info = getPackageManager().getPackageInfo(pkgName, PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures)
        {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String hashKey = Base64.encodeBytes(md.digest());
            _hashKey_et.setText(hashKey);
            Log.i("KeyTool", pkgName + " -> hashKey = " + hashKey);
        }
    }
    catch (NameNotFoundException e)
    {
        e.printStackTrace();
    }
    catch (NoSuchAlgorithmException e)
    {
        e.printStackTrace();
    }
}

그러나 Facebook 앱의 HashKey를 생성하는 간단한 도구가 없다는 사실에 너무 실망했습니다. Openssl 및 Keytool을 사용하거나 서명에서 해시를 가져 오는 코드를 사용해야 할 때마다 ...

그래서 나는 당신을 위해 그 일을 할 간단한 KeyGenTool을 썼습니다 : -> Google Play의 KeyGenTool <-

즐겨 :)


나는 명심해야 할 작은 실수를했다. 키 저장소를 사용하는 경우 androiddebugkey가 아닌 별명을 지정하십시오 ...

나는 내 문제를 해결했다. 이제 Facebook이 기기에 설치되어 있으면 여전히 내 앱이 Facebook 로그인 통합에 대한 데이터를 가져옵니다. 해시 키만 신경 쓰십시오.

아래를 참조하십시오.

C:\Program Files\Java\jdk1.6.0_45\bin>keytool -exportcert -alias here your alias name  -keystore "G:\yourkeystorename.keystore" |"G:\ssl\bin\openssl" sha1 -binary | "G:\ssl\bin\openssl" base64

그런 다음 키를 누르면 Enter비밀번호를 묻는 메시지가 표시되고 Android가 아닌 키 저장소 비밀번호를 입력합니다.

멋있는.


SHA-1 키에서 키 해시를 얻을 수 있습니다. 이미지 아래 Play 스토어 확인에서 SHA-1 (서명 된 APK) 키를 가져와야하는 매우 간단합니다.여기에 이미지 설명을 입력하십시오

이제 SHA-1 키를 복사 하여이 웹 사이트 http://tomeko.net 에서 붙여 넣으십시오. 아래 이미지를 확인하여 키 해시를 얻으십시오.

여기에 이미지 설명을 입력하십시오


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import android.os.Bundle;
import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.Signature;
import android.text.Editable;
import android.util.Base64;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    Button btn;
    EditText et;
    PackageInfo info;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=(Button)findViewById(R.id.button1);
        et=(EditText)findViewById(R.id.editText1);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                try {
                    info = getPackageManager().getPackageInfo("com.example.id", PackageManager.GET_SIGNATURES);
                    for (Signature signature : info.signatures) {
                        MessageDigest md;
                        md = MessageDigest.getInstance("SHA");
                        md.update(signature.toByteArray());
                        String something = new String(Base64.encode(md.digest(), 0));
                        //String something = new String(Base64.encodeBytes(md.digest()));
                        et.setText("" + something);
                        Log.e("hash key", something);
                    }
                } catch (NameNotFoundException e1) {
                    Log.e("name not found", e1.toString());
                } catch (NoSuchAlgorithmException e) {
                    Log.e("no such an algorithm", e.toString());
                } catch (Exception e) {
                    Log.e("exception", e.toString());
                }
            }
        });
    }



}

안드로이드 스튜디오에서도 광산을 해결했지만 약간 다른 접근 방식으로 해결했습니다.

Android Studio에서 SHA-1 값을 얻으려면

  1. Gradle을 클릭하십시오
  2. 서명 보고서를 클릭하십시오
  3. SHA-1 복사

Android 스튜디오에서 표시된 패널을 클릭하십시오.

  1. SHA-1 값은 다음과 같습니다. CD : A1 : EA : A3 : 5C : 5C : 68 : FB : FA : 0A : 6B : E5 : 5A : 72 : 64 : DD : 26 : 8D : 44 : 84

    http://tomeko.net/online_tools/hex_to_base64.php열어 SHA1 값을 base64로 변환하십시오. Facebook에서 생성 된 해시 "******************** ="를 가져 와서 키 해시를 페이스 북 앱 콘솔에 복사해야합니다.

이 답변의 일부는 여기에서 가져온 것입니다 Github 링크


해시 키를 얻는 Kotlin 코드

 private fun logHashKey() {
    try {
        val info = getPackageManager().getPackageInfo("your.package.name", PackageManager.GET_SIGNING_CERTIFICATES);
        for (signature in info.signingInfo.signingCertificateHistory) {

            val md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            val something = Base64.getEncoder().encodeToString(md.digest());
            Log.e("hash key", something);
        }
    } catch (e1: PackageManager.NameNotFoundException) {
        Log.e("name not found", e1.toString());
    } catch (e: NoSuchAlgorithmException) {
        Log.e("no such an algorithm", e.toString());
    } catch (e: Exception) {
        Log.e("exception", e.toString());
    }
}

빌드 및 설정에 따라 키가 변경되므로 디버그 및 릴리스 환경에서 키를 생성하는 것을 잊지 마십시오.


이 시도 :

  • 해시 키 값을 얻는 두 가지 방법

1) 명령 줄을 사용하여 해시 키 가져 오기 (공식 문서 : https://developers.facebook.com/docs/android/getting-started )

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl
base64

또는

2) 코드를 사용하여 해시 키 가져 오기

  @Override
   protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);

            //Hask Kay generation 
             GetKeyHase();
    }

    private void GetKeyHase() {
            try {
                PackageInfo info = getPackageManager().getPackageInfo("ADD YOUR PACKAGE NAME", PackageManager.GET_SIGNATURES);
                for (Signature signature : info.signatures) {
                    MessageDigest md = (MessageDigest.getInstance("SHA"));
                    md.update(signature.toByteArray());
                    String hashkey_value = new String(Base64.encode(md.digest(), 0));
                    Log.e("hash key", hashkey_value);
                    //check you logcat hash key value
                }
            }catch (Exception e) {
                Log.e("exception", e.toString());
            }
        }

참고 URL : https://stackoverflow.com/questions/4388992/key-hash-for-android-facebook-app

반응형