Facebook Android에서 키 해시 생성



9 Answers

키 해시를 생성하려면 몇 가지 간단한 단계를 따라야합니다.

1) Openssl을 here. 에서 다운로드 here.

2) C 드라이브에 openssl 폴더 만들기

3) C 드라이브에 생성 된 openssl 폴더에 Zip 파일의 압축을 풉니 다.

4) 나의 경우 (C : \ Users \ SYSTEM.android)의 .android 폴더에있는 debug.keystore 파일을 복사하여 C : \ Program Files \ Java \ jdk1.6.0_05 \ bin에있는 JDK bin 폴더에 붙여 넣으십시오.

5) 명령 프롬프트를 열고 내 케이스 (C : \ Program Files \ Java \ jdk1.6.0_05 \ bin)에있는 JDK Bin 폴더의 경로를 지정하십시오.

6) 다음 코드를 복사하고 Enter 키를 누릅니다.

keytool -exportcert -alias androiddebugkey -keystore debug.keystore> c : \ openssl \ bin \ debug.txt

7) 이제 비밀번호 , 비밀번호 = android를 입력 해야합니다.

8) openssl Bin 폴더에 표시되면 debug.txt 라는 이름의 파일이 표시됩니다

9) 이제 명령 프롬프트를 다시 시작하거나 기존 명령 프롬프트로 작업 할 수 있습니다

10) C 드라이브로 돌아가서 openssl Bin 폴더 의 경로를 지정하십시오

11) 다음 코드를 복사하여 붙여 넣습니다.

openssl sha1 - 이진 debug.txt> debug_sha.txt

12) openssl bin 폴더에 debug_sha.txt생깁니다 .

13) 다시 다음 코드를 복사하여 붙여 넣습니다.

openssl base64 - in debug_sha.txt> debug_base64.txt

14) openssl bin 폴더에 debug_base64.txt생깁니다 .

15) open debug_base64.txt 파일 여기에 Key 해시가 있습니다.

Question

페이스 북 통합으로 안드로이드 애플 리케이션을 만들려고하는데, 나는 당신이 핵심 해시 파일을 생성해야하는 문서에서 다음 코드를 실행하도록 지정했다.

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

이 터미널을 실행할 때 키 스토어가 변조되거나 암호가 잘못되었다는 오류가 발생합니다.

키 해시를 생성하고 싶습니다.

누구든지 올바른 방향으로 나를 가리킬 수 있습니까?




간단한 해결책이 문제를 해결하려면 다음을 수행하십시오.

나는이 문제를 2 개월 동안 가지고있다. 내 키 해시가 9까지 pyling되었습니다. 오늘 마침내 간단한 해결책을 발견 :

1 단계:

휴대 전화의 facebook 개발자 페이지에서 다운로드 한 facebook SDK를 설치하십시오. 일반 페이스 북 앱을 설치하지 마십시오. 페이스 북에 로그인 할 수 있는지 확인하십시오. 그런 다음 로그 아웃하십시오.

2 단계:

Play 스토어에 업로드 할 때와 마찬가지로 최종 릴리스 키를 apk로 내 보내어 앱을 내 보냅니다.

3 단계 :

USB 케이블이나 USB 스틱을 통해 휴대폰에 Apk 파일을 저장하십시오.

4 단계 :

파일 관리자를 사용하여 앱 설치 : Example

5 단계 :

앱을 실행하고 facebook으로 로그인하십시오. 대화 상자가 열리고 다음 내용이 표시됩니다. "YOURHASHKEY 키가 Facebook 개발자 콘솔에서 발견되지 않았습니다."

6 단계 :

열쇠를 기록해 둡니다.

7 단계 :

페이스 북 개발자 콘솔에 넣고 저장하십시오. 이제 끝났습니다. 이전에 사용 된 키 저장소로 게시 된 앱을 다운로드 한 사용자는 누구나 Facebook에 로그인 할 수 있습니다.

즐겨




페이스 북을 위해 생성하는 한 줄 솔루션

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



적절한 키 해시 토스트에 다음 코드를 추가하여 앱 자체에서 올바른 키를 얻을 수 있습니다 (Facebook SDK 3.0 이상인 경우 작동)

try {
            PackageInfo info = getPackageManager().getPackageInfo("com.package.mypackage",         PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
                Log.e("MY KEY HASH:", sign);
                Toast.makeText(getApplicationContext(),sign,         Toast.LENGTH_LONG).show();
            }
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

com.package.mypackage를 패키지 이름으로 대체하십시오.




나를 위해 일하는 유일한 방법은 암호 android 사용하는 것입니다. 왜 거기에 어떤 가이드에서 언급되지 않은 이유는 무엇입니까?




명령의 일부로 키와 저장소의 암호를 전달하십시오.

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



로그에서 인쇄 키 해시를 위해 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. 다음 링크에서 openssl을 다운로드 https://code.google.com/p/openssl-for-windows/downloads/list . https://code.google.com/p/openssl-for-windows/downloads/list
  2. 로컬 드라이브 (예 : C : \ openssl)에 압축을 풉니 다.
  3. 페이스 북 통합을위한 Development 키를 얻으려면, 윈도우의 명령 행에서 다음 명령을 사용하십시오 :

    keytool -exportcert -alias androiddebugkey -keystore % HOMEPATH % .android \ debug.keystore | "C : \ openssl \ bin \ openssl.exe"sha1 -binary | "C : \ openssl \ bin \ openssl.exe"base64

NOTE !: openssl.exe (이 예제에서는 "C : \ openssl \ bin \ openssl.exe") 경로를 자신의 설치 경로로 바꾸십시오.

  1. 암호를 묻는 메시지가 표시됩니다 (예 :

키 저장소 비밀번호 입력 : android

위에 표시된 것처럼 안드로이드를 암호로 입력하십시오.

그게 전부 야! 28 자 길이의 열쇠가 주어집니다. 건배!

동일한 절차를 사용하여 릴리스 키를 가져옵니다. 명령을 다음으로 바꾸고 릴리스 키 별칭을 사용하십시오.

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -KEY 저장소 YOUR_RELEASE_KEY_PATH | "PATH FOR openssl.exe"sha1 -binary | openssl base64




안녕 모두들 내 이야기는 내가 서명 어떻게 페이스 북을위한 열쇠를 가지고

우선 여러분은 첫 번째 클래스에서이 2 가지 방법을 복사해야합니다.

    private void getAppKeyHash() {
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                getPackageName(), 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));
            System.out.println("HASH  " + something);
            showSignedHashKey(something);

        }
    } catch (NameNotFoundException e1) {
        // TODO Auto-generated catch block
        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());
    }
}
public void showSignedHashKey(String hashKey) {

    AlertDialog.Builder adb = new AlertDialog.Builder(this);
    adb.setTitle("Note Signed Hash Key");
    adb.setMessage(hashKey);
    adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {

        }
    });

    adb.show();
}

당신이 oncreate method에서 ** getfuncationHash ()를 호출하면 서명 된 해시를 만들고 서명 된 빌드를 서명 된 빌드로 만들고 대화 상자에서 해시 키를 얻고 메모를하고 페이스 북의 개발자 계정에 주석을 추가하고 그 함수에 주석을 달아서 APK 서명 **




디버그 인증서의 비밀번호는 안드로이드가 아니라 안드로이드입니다.



Related