Facebook Android Tạo Key Hash


119

Đang cố gắng tạo một ứng dụng Android có tích hợp Facebook, tôi đã đến phần trong tài liệu nơi bạn phải tạo một tệp băm khóa, nó chỉ định chạy mã sau

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

Khi tôi chạy điều này trong thiết bị đầu cuối của mình, tôi gặp lỗi Kho khóa bị giả mạo hoặc mật khẩu không chính xác,

Tôi chỉ muốn tạo Key Hash của mình

ai đó có thể chỉ cho tôi phương hướng đúng không?


2
Bạn có đang sử dụng đúng mật khẩu không?
Chủ tịch James K. Polk

Khi nhập lệnh vào thiết bị đầu cuối, nó không cho tôi tùy chọn nhập mật khẩu
Scott

Hãy thử chỉ nhập lệnh keytool mà không có hai đường dẫn cuối cùng.
Chủ tịch James K. Polk

6
Tôi hiểu rồi, đôi khi tôi thật là một kẻ ngốc, hãy nhập lệnh trên toàn bộ dòng, không sao chép và dán
Scott

Câu trả lời:


20

Xóa chứng chỉ gỡ lỗi của bạn trong ~ / .android / debug.keystore (trên Linux và Mac OS X); thư mục giống như% USERHOME% /. android trên Windows.

Sau đó, plugin Eclipse sẽ tạo chứng chỉ mới khi bạn cố gắng tạo gói gỡ lỗi lần sau.

Cho tôi biết nếu nó hiệu quả.


không hoạt động. đã xóa tệp debug.keystore, thực hiện xây dựng gỡ lỗi, tệp không bao giờ quay lại. ghi chú khác trong thư mục đó được cập nhật.
CthulhuJon

3
Tôi thực sự không biết đây là câu trả lời được chấp nhận như thế nào?
Enoobong

Tạo HashKey cho chế độ gỡ lỗi và phát hành bằng cách sử dụng điều này. stackoverflow.com/questions/7506392/...
Naeem Ibrahim

281

Để tạo mã băm chính, bạn cần làm theo một số bước đơn giản.

1) Tải xuống Openssl từ: tại đây.

2) Tạo một thư mục openssl trong ổ C

3) Giải nén các tệp Zip vào thư mục openssl này được tạo trong Ổ C.

4) Sao chép tệp debug.keystore từ thư mục .android trong trường hợp của tôi (C: \ Users \ SYSTEM.android) và dán vào Thư mục bin JDK trong trường hợp của tôi (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)

5) Mở dấu nhắc lệnh và cung cấp đường dẫn của thư mục JDK Bin trong trường hợp của tôi (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin).

6) Sao chép mã sau và nhấn enter

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

7) Bây giờ bạn cần nhập mật khẩu , Mật khẩu = android.

8) Nếu bạn nhìn thấy trong thư mục openssl Bin, bạn sẽ nhận được một tệp có tên là debug.txt

9) Bây giờ bạn có thể khởi động lại dấu nhắc lệnh hoặc làm việc với dấu nhắc lệnh hiện có

10) quay lại ổ C và cung cấp đường dẫn của thư mục openssl Bin

11) sao chép mã sau và dán

openssl sha1 -binary debug.txt> debug_sha.txt

12) bạn sẽ nhận được debug_sha.txt trong thư mục bin openssl

13) Một lần nữa sao chép mã sau và dán

openssl base64 -in debug_sha.txt> debug_base64.txt

14) bạn sẽ nhận được debug_base64.txt trong thư mục bin openssl

15) mở tệp debug_base64.txt Đây là băm Khóa của bạn.


4
thoải mái trả lời 1 cho bạn tôi đã theo này và nhận được kết quả mong muốn :)
BBdev

Tôi nhận được điều này: lỗi keytool: java.io.IO Ngoại lệ: Kho khóa bị giả mạo hoặc mật khẩu không chính xác. Làm cách nào để tìm mật khẩu chính xác của mình?
DuyguK 10/02/13

Điều này đã làm việc cho tôi sau 2 ngày bối rối với những gì đang xảy ra. Công việc tuyệt vời!
rennoDeniro

4
@Vizzz: Cách giải thích hay để tạo hàm băm chính. Cảm ơn cho bài viết này, hy vọng bài viết này sẽ tiết kiệm được nhiều thời gian của một số người.
Emran Hamza

1
Tôi đã thử mọi mã nhưng không bao giờ nhận được đầu ra mong muốn. Tôi đã thử mã từ facebook, nó cũng giống nhau chỉ là tất cả ba lệnh trong một lệnh, nhưng chạy ba lệnh riêng biệt đã cho đúng mã và hoạt động, giờ tìm kiếm hoặc có thể nhiều ngày tìm kiếm. Cảm ơn. Trước đây chỉ có mã trên ứng dụng android cho kết quả đúng, dấu nhắc lệnh đưa ra các khóa không hợp lệ, bây giờ tất cả đều ổn. Cảm ơn một lần nữa
Diljeet

149

CẬP NHẬT CÂU TRẢ LỜI (Tạo thông qua mã) Phương pháp đơn giản hơn:

Theo kinh nghiệm của tôi, openssl luôn gây rắc rối, tôi đã thử phương pháp thứ hai do facebook gợi ý. Và nó thật tuyệt vời. Đây là phương pháp tốt nhất để lấy khóa băm.

Tùy chọn thứ hai là in ra mã băm khóa được gửi đến Facebook và sử dụng giá trị đó. Thực hiện các thay đổi sau đối với phương thức onCreate () trong hoạt động chính của bạn:

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

        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.facebook.samples.loginhowto", 
                    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) {

        }
        ...other operations

}//end of onCreate

Thay thế com.facebook.samples.loginhowto bằng tên gói của riêng bạn (tên gói trong Manifest.xml).

Liên kết chính thức - https://developers.facebook.com/docs/android/login-with-facebook/ (Xem ở cuối trang)

CÂU TRẢ LỜI CŨ (Tạo Keyhash bằng openssl)

  1. để tạo chữ ký, bạn cần cài đặt openssl trên máy tính của mình. Nếu bạn không có một tải xuống openssl từ đây
  2. Trong C :, Tạo opensslthư mục
  3. giải nén nội dung của tệp zip openssl đã tải xuống vào opensslthư mục trong C:ổ đĩa
  4. mở Command Prompt
  5. chuyển sang bincác openssl ví dụ C:\openssl\bintrong command prompt
  6. chạy lệnh sau để tạo keyhash của bạn. Trong khi tạo hashkey, nó sẽ hỏi bạn mật khẩu.

    keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Anhsirk.android \ debug.keystore" | openssl sha1 -binary | openssl base64

LƯU Ý : trong đoạn mã trên, hãy lưu ý rằng, bạn cần cung cấp đường dẫn của mình cho người dùng (tức là trong trường hợp của tôi, đó là C: \ Users \ Anhsirk, bạn chỉ cần thay đổi điều này cho tài khoản người dùng của mình.

Cung cấp mật khẩu là android

. Nếu nó không yêu cầu mật khẩu, đường dẫn kho khóa của bạn không chính xác.

Nếu mọi thứ hoạt động tốt, nó sẽ cung cấp cho bạn mã băm bên dưới.

nhập mô tả hình ảnh ở đây


Tôi nhận được điều này: lỗi keytool: java.io.IO Ngoại lệ: Kho khóa bị giả mạo hoặc mật khẩu không chính xác. Làm cách nào để tìm mật khẩu chính xác của mình?
DuyguK 10/02/13

@DuyguK - có thể có nghĩa là kho khóa của bạn đã tồn tại. Hãy thử xóa và làm lại. Hoặc một con đường sai bạn có thể đã quy định
AnhSirk Dasarp

Chúa ơi điều này làm tôi mất hàng giờ đồng hồ. Cảm ơn bạn rất nhiều!
Yenthe

Tôi muốn hỏi, nếu phương pháp mới (lấy keyhashes bằng mã) bằng cách nào đó làm chậm quá trình onCreate. Bởi vì theo những gì tôi biết, khi APK đã ký được tạo, các lần nhấn phím sẽ khác. Cám ơn các mã anyways :)!
Marson

Phương pháp đơn giản hơn sẽ hoạt động mà không cần giả lập nhưng trên thiết bị Android thực?

24

Cách đơn giản nhất để tạo khóa băm.

Yêu cầu: SHA1 Key

Bạn có thể lấy Khóa SHA1 từ tệp kho khóa của mình bằng hai cách

1) Định vị tệp kho khóa của bạn, mở dấu nhắc lệnh trên vị trí đó rồi sử dụng lệnh được đề cập bên dưới

keytool -list -v -keystore {keystore_name} -alias {alias_name}

và sau đó nhập mật khẩu của bạn, sau đó nó sẽ trả về khóa md5, sha1 và sha256.

HOẶC LÀ

2) Bằng cách chạy SignReport

Tham khảo hình ảnh bên dưới.

nhập mô tả hình ảnh ở đây

sau khi bạn chạy tệp, đầu ra của bạn sẽ được tạo có chứa khóa sha1 bắt buộc.

nhập mô tả hình ảnh ở đây

Sau khi bạn nhận được Khóa SHA1 cần thiết

Sau đó đi đến

http://tomeko.net/online_tools/hex_to_base64.php

và dán khóa sha1 của bạn

nhập mô tả hình ảnh ở đây

và cuối cùng bạn sẽ nhận được Required HashKey mà bạn có thể sử dụng nó để áp dụng trên facebook.


2
Câu trả lời này đơn giản hơn nhiều so với những câu khác vì nó chỉ quan tâm đến đầu ra cuối cùng. Luôn luôn đúng. Trong các trường hợp khác, nếu quá trình ký kết bị định cấu hình sai, chúng tôi sẽ không biết cách khắc phục.
hakuna1811

1
Tuyệt vời làm việc như quyến rũ Thank bạn thân
Dheeraj Jaiswal

14

Bạn có thể lấy khóa phù hợp từ chính ứng dụng bằng cách thêm mã sau để nâng cấp hàm băm khóa phù hợp (trong trường hợp Facebook SDK 3.0 trở đi, điều này hoạt động)

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) {
}

Thay thế com.package.mypackage bằng tên gói của bạn


Tạo HashKey cho chế độ gỡ lỗi và phát hành bằng cách sử dụng điều này. stackoverflow.com/questions/7506392/...
Naeem Ibrahim

12

I. Tạo key hash debug cho facebook

Thêm mã để in ra khóa băm cho facebook

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

    } catch (NoSuchAlgorithmException e) {

    }

II. Tạo bản phát hành băm chính cho facebook

  1. Tải xuống openssl-0.9.8e_X64

  2. Tạo một thư mục openssl trong ổ C

  3. Giải nén các tệp Zip vào thư mục openssl

  4. Bắt đầu -> Chạy: cmd (nhấn enter)

  5. (nhấn) cd C: \ Program Files \ Java \ jdk1.6.0_45 \ bin. Lưu ý: C: \ Program Files \ Java \ jdk1.6.0_45 \ bin: là đường dẫn đến thư mục jdk trong máy tính của bạn

  6. (nhấn) keytool -exportcert -alias gci -keystore D: \ folder \ keystorerelease | C: \ openssl \ bin \ openssl sha1 -binary | C: \ openssl \ bin \ openssl base64. Lưu ý: D: \ folder \ keystorerelease: là đường dẫn đến keystorerelease của bạn

  7. Nhập mật khẩu kho khóa: Đây là mật khẩu khi bạn đăng ký kho khóa.

    Sau đó, bạn sẽ có một băm khóa: jDehABCDIQEDWAYz5Ow4sjsxLSw =

  8. Đăng nhập Facebook. Truy cập vào Quản lý ứng dụng. Dán mã băm chính vào ứng dụng của bạn trên Develop.facebook.com


Tạo HashKey cho chế độ gỡ lỗi và phát hành bằng cách sử dụng điều này. stackoverflow.com/questions/7506392/...
Naeem Ibrahim

9

GIẢI PHÁP ĐƠN GIẢN NHẤT CHO VẤN ĐỀ NÀY:

Tôi đã gặp vấn đề này trong hai tháng nay. Số băm khóa của tôi đã bị tăng lên đến 9. Hôm nay, cuối cùng tôi đã tìm ra giải pháp đơn giản:

BƯỚC 1:

Cài đặt sdk facebook mà bạn đã tải xuống từ trang nhà phát triển facebook trên điện thoại của bạn. Không cài đặt ứng dụng facebook bình thường. Đảm bảo rằng bạn có thể đăng nhập vào facebook. Sau đó đăng xuất.

BƯỚC 2:

Xuất ứng dụng của bạn bằng khóa phát hành cuối cùng dưới dạng apk, giống như khi tải ứng dụng lên cửa hàng chơi.

BƯỚC 3:

Đặt tệp Apk trên điện thoại của bạn thông qua cáp USB hoặc thẻ USB.

BƯỚC 4:

Cài đặt ứng dụng của bạn bằng trình quản lý tệp: Ví dụ

BƯỚC 5:

Khởi chạy ứng dụng của bạn và cố gắng đăng nhập bằng facebook. Một hộp thoại sẽ mở ra và cho bạn biết: "khóa YOURHASHKEY không được tìm thấy trong bảng điều khiển dành cho nhà phát triển facebook"

BƯỚC 6:

Ghi lại chìa khóa.

BƯỚC 7:

Đặt nó vào bảng điều khiển dành cho nhà phát triển facebook của bạn và lưu. Bây giờ bạn đã hoàn thành. Bất kỳ ai tải xuống ứng dụng của bạn, được xuất bản với kho khóa đã sử dụng trước đó đều có thể đăng nhập vào facebook.

Thưởng thức


chỉ cần lưu ý: bạn cần đặt '=' sau khóa được sao chép từ nhật ký
akshay7692

7

Nếu bạn đang phát hành, hãy sử dụng kho khóa mà bạn đã sử dụng để xuất ứng dụng của mình chứ không phải debug.keystore.


1
Xin chào, tôi đã thử sử dụng kho khóa ứng dụng của mình để tạo keyhash, nhưng bất cứ khi nào tôi cố gắng chia sẻ bất kỳ thứ gì từ ứng dụng của mình, nó sẽ cho tôi lỗi rằng Ứng dụng được định cấu hình sai để đăng nhập Facebook. nhưng khi tôi thử keyhash được tạo thông qua debug.keystore thì nó hoạt động. bạn có thể vui lòng giúp tôi về điều này.?
KunalK


6

Cuối cùng :)

Đây là câu chuyện của tôi:

  1. Thêm mã này vào hoạt động chính của bạn, sau khi bạn thiết lập bố cục.

    try { 
      PackageInfo info = getPackageManager().getPackageInfo("PROJECTNAME", 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);
          //textInstructionsOrLink = (TextView)findViewById(R.id.textstring);
          //textInstructionsOrLink.setText(sign);
          Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show();
      }
    } catch (NameNotFoundException e) {
        Log.d("nope","nope");
    } catch (NoSuchAlgorithmException e) {
    }
  2. Thay đổi PROJECTNAME thành tên gói của bạn!

  3. Ký ứng dụng của bạn (Công cụ Android-> Xuất ứng dụng đã ký)
  4. Trong hoạt động chính của bạn, nơi bạn dán mã từ tùy chọn 2, trong bố cục của bạn, hãy tạo TextView với chuỗi văn bản id
  5. bỏ ghi chú hai dòng, rằng mã ký hiệu của bạn sẽ được đặt thành TextView 6 Wuolia, bạn có HASH, hãy cài đặt ứng dụng trên điện thoại của bạn !!! và kiểm tra Khóa băm của bạn!
  6. Bây giờ khi nó hiển thị, hãy truy cập ứng dụng facebook bạn đã tạo và thêm nó vào [Key Hashes]
  7. Lưu ý rằng tên gói của bạn phải giống trên facebook [Tên gói] trong [Key Hashes]
  8. Chúc một ngày tốt lành :)

5

Giải pháp một dòng để tạo cho facebook

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

4

Để tạo mã băm khóa phát hành, bạn cần làm theo một số bước đơn giản.

1) Tải xuống Openssl

2) Tạo một thư mục openssl trong ổ C

3) Giải nén tệp Zip vào thư mục openssl này được tạo trong Ổ C.

4) Sao chép tệp debug.keystore từ thư mục .android trong trường hợp của tôi (C: \ Users \ SYSTEM.android) và dán vào Thư mục bin JDK trong trường hợp của tôi (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)

5) Mở dấu nhắc lệnh và cung cấp đường dẫn của thư mục JDK Bin trong trường hợp của tôi (C: \ Program Files \ Java \ jdk1.7.0_40 \ bin).

6) Sao chép mã sau và nhấn enter

keytool -exportcert -alias abcd-keystore D: \ Projects \ MyAppFolder \ keystore.txt | C: \ openssl \ bin \ openssl sha1 - nhị phân | C: \ openssl \ bin \ openssl base64 ex - keytool -exportcert -alias (tên bí danh sing apk của bạn nhập vào đây như my sign apk alian name is abcd) -keystore "đã ký apk kho khóa được tạo apth nhập vào đây" | "Đường dẫn thư mục bin openssl nhập vào đây" sha1 - binary | "Đường dẫn thư mục bin openssl nhập vào đây" base64

7) Bây giờ bạn cần nhập mật khẩu, Mật khẩu = (nhập mật khẩu kho khóa ký của bạn tại đây)

8) bạn có kho khóa được sử dụng để phát hành mã băm khóa ứng dụng


3

Mặc dù chủ đề này đã cũ, nhưng tôi muốn chia sẻ kinh nghiệm của mình (gần đây đã bắt đầu làm việc với facebook), điều này có vẻ thẳng thắn với tôi:

  1. Tải xuống openssl từ liên kết bên dưới: https://code.google.com/p/openssl-for-windows/downloads/list
  2. Giải nén nó vào một ổ đĩa cục bộ (ví dụ: C: \ openssl)
  3. Để nhận khóa Phát triển cho tích hợp facebook, hãy sử dụng lệnh sau từ dòng lệnh trong windows:

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

LƯU Ý !: vui lòng thay thế đường dẫn cho openssl.exe (trong ví dụ này là "C: \ openssl \ bin \ openssl.exe") bằng đường dẫn cài đặt của riêng bạn.

  1. Nó sẽ nhắc nhập mật khẩu, ví dụ:

Nhập mật khẩu kho khóa: android

Gõ android làm mật khẩu như hình trên.

Đó là nó! Bạn sẽ được cấp một khóa dài 28 ký tự. Chúc mừng!

Sử dụng quy trình tương tự để lấy khóa Phát hành. Chỉ cần thay thế lệnh bằng lệnh sau và sử dụng bí danh khóa phát hành của bạn.

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | "PATH FOR openssl.exe" sha1 -binary | openssl base64


nhưng nó cho thấy hỏi mật khẩu am cho mật khẩu keystore ký cũng và Trung Hoa sau đó hiển thị laungauge
Harsha

đảm bảo rằng các con đường được thiết lập đúng cho openssl \ bin và java ... \ bin
KawaiKx

3

Tạo khóa băm gỡ lỗi

  public String hashkey(Context context) {
        String keyhash = "";
        try {
            PackageInfo info = context.getPackageManager().getPackageInfo(context.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));
                keyhash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
            }
        } catch (PackageManager.NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }
        return keyhash;
    }

Tạo khóa băm phát hành

 keytool -exportcert -alias specialbridge -keystore /home/shilpi/newproject/specialBridge/SpecialBridgeAndroid/keystore/specialbridge.jks | openssl sha1 -binary | openssl base64

2

Bài đăng trên blog tuyệt vời về chủ đề này

Trích xuất Key Hash từ khóa .p12

  1. Mở Terminal hoặc Dòng lệnh và điều hướng đến vị trí khóa .p12 của bạn.
  2. Nhập: “keytool -v -list -keystore mycert.p12 -storetype pkcs12 ″ trong đó mycert.p12 là tên tệp của khóa .p12 của bạn.
  3. Nhập mật khẩu kho khóa (mật khẩu bạn đã sử dụng khi xuất khóa .p12). 4 . Sao chép byte chữ ký dấu vân tay sha1 văn bản.
  4. Các byte tại chữ ký dấu vân tay sha1 là cần thiết để viết tệp “sha1.bin”. Bạn có thể sử dụng trình chỉnh sửa hệ thập lục phân để dán các byte bạn đã sao chép. Sau đó, lưu tệp dưới dạng “sha1.bin”.
  5. Mở lại terminal và nhập: “openssl base64 -in sha1.bin -out base64.txt”.
  6. Kết quả “base64.txt” sẽ chứa Key Hash cần thiết cho Facebook.

Trình chỉnh sửa hệ thập lục phân tuyệt vời và đơn giản dành cho mac: HexFiend

OpenSSL nên được cài đặt sẵn trên mac và đây là liên kết cho phiên bản Windows.

Liên kết


Đây là thông tin tuyệt vời cho các nhà phát triển ứng dụng Adobe AIR (Flash hoặc Apache Flex). Và "Tên lớp" cho Facebook SSO phải làAppEntry
Alexander Farber,

2

Thử chuyển mật khẩu cho khóa và lưu trữ như một phần của lệnh

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

1

Tôi đã có thể thực hiện nhiệm vụ được yêu cầu với một số giải pháp ở đây, nhưng tự nghĩ, cậu bé thật ngu ngốc ... tại sao không viết một đoạn mã Java nhỏ để thực hiện việc này và đóng gói nó vào một cái Jar, vì vậy tôi đã làm. ..

Một liên kết để tải xuống Jar

Hoạt động trên Windows 8 ... không thử bất kỳ hệ điều hành nào khác.


1
Điều tôi không hiểu là, nếu tôi mất vài giờ để tìm hiểu tất cả và phác thảo điều này, tại sao chưa có công ty lớn nào làm điều này để cung cấp cho chúng tôi một cách dễ dàng để lấy thông tin họ yêu cầu từ chúng tôi ???
TacB0sS

1

Xin chào tất cả mọi người câu chuyện của tôi về cách tôi đăng ký có key cho facebook

trước hết bạn chỉ cần sao chép 2 phương thức này trong lớp học đầu tiên của bạn

    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();
}

** Gọi funcation getAppKeyHash () từ methode oncreate của bạn nếu bạn muốn có hàm băm sau đó thực hiện bản dựng đã ký cài đặt bản dựng đã ký và chạy, bạn sẽ nhận được khóa băm trong hộp thoại sau đó chỉ cần ghi chú và cập nhật nó trên tài khoản nhà phát triển facebook và nhận xét hàm đó và thực hiện một hàm khác APK đã ký **


1

Nếu mật khẩu của bạn = android sai thì hãy đặt mật khẩu máy tính của bạn vào đó nó hoạt động cho tôi.

Và để tạo keyHash, hãy thử liên kết này Tại đây


0

Điều duy nhất làm việc cho tôi là sử dụng mật khẩu android. Tại sao điều đó không được đề cập trong bất kỳ hướng dẫn nào ngoài đó?


0

sử dụng điều này trong kotlin để in mã băm trong nhật ký

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){

    }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.