फेसबुक एंड्रॉयड जेनरेट हैश


119

फेसबुक एकीकरण के साथ एक एंड्रॉइड ऐप बनाने की कोशिश कर रहा हूं, मैंने डॉक्स में उस हिस्से को प्राप्त कर लिया है जहां आपको एक महत्वपूर्ण हैश फ़ाइल उत्पन्न करनी है, यह निम्नलिखित कोड को चलाने के लिए निर्दिष्ट करता है

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

जब मैं अपने टर्मिनल में इसे चलाता हूं तो मुझे केइस्टोर के लिए एक त्रुटि मिलती है जिसमें छेड़छाड़ या पासवर्ड गलत था,

मैं सिर्फ अपनी कुंजी हैश उत्पन्न करना चाहता हूं

क्या कोई मुझे सही दिशा दिखा सकता है?


2
क्या आप सही पासवर्ड का उपयोग कर रहे हैं?
राष्ट्रपति जेम्स के। पोल्क

टर्मिनल में कमांड दर्ज करते समय यह मुझे एक पासवर्ड दर्ज करने का विकल्प नहीं देता
स्कॉट

पिछले दो पाइपों के बिना बस कीलेट कमांड दर्ज करने का प्रयास करें।
राष्ट्रपति जेम्स के। पोल्क

6
मुझे यह मिल गया, मैं कभी-कभी ऐसा मूर्ख हूं, एक पूरी लाइन पर कमांड दर्ज करता हूं, कॉपी और पेस्ट नहीं करता
स्कॉट

जवाबों:


20

~ / .Android / debug.keystore (लिनक्स और मैक ओएस एक्स पर) के तहत अपना डिबग प्रमाणपत्र हटाएं; निर्देशिका कुछ% USERHOME% / जैसी है। विंडोज़ पर Android।

जब आप अगली बार डिबग पैकेज बनाने का प्रयास करते हैं, तो ग्रहण प्लगइन को एक नया प्रमाणपत्र तैयार करना चाहिए।

मुझे बताएं कि क्या वह काम करता है।


काम नहीं किया। डीबग.स्टायस्टोर फ़ाइल को हटा दिया, डीबग बिल्ड बनाया, फ़ाइल कभी वापस नहीं आई। उस फ़ोल्डर में अन्य अपडेट नहीं किया गया।
CthulhuJon

3
मैं वास्तव में नहीं जानता कि यह स्वीकृत उत्तर कैसे है?
एनबॉन्ग

इसका उपयोग करके डिबग और रिलीज़ मोड के लिए HashKey उत्पन्न करें। stackoverflow.com/questions/7506392/…
नईम इब्राहिम

281

कुंजी हैश उत्पन्न करने के लिए आपको कुछ आसान चरणों का पालन करने की आवश्यकता है।

1) यहाँ से Openssl डाउनलोड करें।

2) C ड्राइव में एक ओपनस् फोल्डर बनाते हैं

3) C ड्राइव में बनाए गए इस ओपनस् फोल्डर में जिप फाइल को निकालें ।

4) मेरे मामले में .android फ़ोल्डर से फ़ाइल debug.keystore की प्रतिलिपि बनाएँ (C: \ Users \ System.android) और मेरे मामले में JDK बिन फ़ोल्डर में पेस्ट करें (C: \ Program Files \ Java \ jdk1.6.6_05 \ bin)

5) कमांड प्रॉम्प्ट खोलें और मेरे मामले में JDK बिन फ़ोल्डर का रास्ता दें (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)।

6) निम्नलिखित कोड को कॉपी करें और हिट दर्ज करें

कुंजीटूल -एक्सपोर्टसर्ट-कालस androiddebugkey -keystore debug.keystore> c: \ opensl \ bin \ debug.txt

7) अब आपको पासवर्ड , पासवर्ड = Android दर्ज करना होगा।

8) आप में देखते हैं, तो openssl बिन फ़ोल्डर आप अपने नाम के साथ एक फ़ाइल मिल जाएगा debug.txt

9) अब या तो आप कमांड प्रॉम्प्ट को पुनरारंभ कर सकते हैं या मौजूदा कमांड प्रॉम्प्ट के साथ काम कर सकते हैं

10) सी ड्राइव पर वापस जाएं और ओपनसेल बिन फ़ोल्डर का रास्ता दें

11) निम्नलिखित कोड को कॉपी करें और पेस्ट करें

opensl sha1 -binary debug.txt> debug_sha.txt

12) आपको डिस्ग्लस बिन फोल्डर में debug_sha.txt मिलेगा

13) कोड और पेस्ट के बाद फिर से कॉपी करें

खुलता है base64 -in debug_sha.txt> debug_base64.txt

14) आपको डिस्ग्लस बिन फोल्डर में debug_base64.txt मिलेगा

15) open debug_base64.txt फ़ाइल यहाँ आपकी कुंजी हैश है।


4
अच्छा उत्तर +1 आपके लिए मैंने इसका अनुसरण किया है और वांछित परिणाम प्राप्त किया है :)
BBdev

मुझे यह मिल रहा है: keytool error: java.io.IOException: Keystore के साथ छेड़छाड़ की गई, या पासवर्ड गलत था। मुझे अपना सही पासवर्ड कैसे मिल सकता है?
दुग्गू

यह मेरे लिए 2 दिनों की उलझन के बाद काम कर रहा था जो चल रहा था। शानदार काम!
रेनोडेनिरो

4
@Vizzz: कुंजी हैश पैदा करने के लिए समझाने का अच्छा तरीका। इस पोस्ट के लिए धन्यवाद, आशा है कि यह पोस्ट किसी एक का बहुत समय बचाएगा।
इमरान हमजा

1
मैंने हर कोड की कोशिश की, लेकिन कभी भी वांछित आउटपुट नहीं मिला। मैंने facebook से कोड की कोशिश की, यह भी एक कमांड में सभी तीन कमांडों के समान ही है, लेकिन तीन कमांडों को अलग-अलग चलाने से सही कोड दिया गया और काम किया गया, घंटे की खोज या शायद खोज के दिन। धन्यवाद। इससे पहले केवल एंड्रॉइड ऐप पर कोड सही परिणाम दे रहा था, कमांड प्रॉम्प्ट ने अमान्य कुंजी दी, अब सब ठीक है। धन्यवाद फिर से
दिलजीत

149

अद्यतन उत्तर (कोड के माध्यम से उत्पन्न) सरल विधि:

अपने अनुभव में, खुलता है हमेशा परेशान रहने वाला, मैंने फेसबुक द्वारा सुझाए गए दूसरे तरीके की कोशिश की। और यह अद्भुत है। यह हैश कुंजी प्राप्त करने के लिए सबसे अच्छा तरीका है।

दूसरा विकल्प फेसबुक को भेजी गई कुंजी हैश का प्रिंट आउट लेना और उस मूल्य का उपयोग करना है। अपनी मुख्य गतिविधि में ऑनक्रीट () विधि में निम्नलिखित बदलाव करें:

    @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

अपने स्वयं के पैकेज नाम (Manifest.xml में पैकेज नाम) के साथ com.facebook.samples.loginhowto बदलें।

आधिकारिक लिंक - https://developers.facebook.com/docs/android/login-with-facebook/ (पृष्ठ के नीचे देखें)

OLD ANSWER (खुलने के समय Keyhash उत्पन्न करना)

  1. हस्ताक्षर बनाने के लिए आपको अपने पीसी पर इंस्टॉल किए गए ओपनसेल की जरूरत है। यदि आपके पास यहाँ से एक डाउनलोड खुलता नहीं है
  2. C: में, opensslफ़ोल्डर बनाएँ
  3. ड्राइव में opensslफ़ोल्डर में डाउनलोड की गई खुलने वाली ज़िप फ़ाइल की सामग्री को निकालेंC:
  4. कमांड प्रॉम्प्ट खोलें
  5. कमांड प्रॉम्प्ट में यानी binकी चालopensslC:\openssl\bin
  6. अपने कीहाश को बनाने के लिए निम्न कमांड चलाएँ। हैश उत्पन्न करते समय इसे आपसे पासवर्ड पूछना चाहिए।

    keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Anhsirk.android \ debug.keystore" | opensl sha1 -binary | खुलता है base64

नोट : उपरोक्त कोड नोट में, आपको अपना रास्ता उपयोगकर्ता को देना होगा (अर्थात मेरे मामले में यह C: \ Users \ Anhsirk है, आपको बस इसे अपने उपयोगकर्ता खाते के लिए बदलने की आवश्यकता है।

Android के रूप में पासवर्ड दें

। यदि यह पासवर्ड के लिए नहीं पूछता है तो आपका कीस्टोर पथ गलत है।

यदि सब कुछ ठीक काम करता है, तो यह आपको नीचे हैशेक देना चाहिए।

यहाँ छवि विवरण दर्ज करें


मुझे यह मिल रहा है: keytool error: java.io.IOException: Keystore के साथ छेड़छाड़ की गई, या पासवर्ड गलत था। मुझे अपना सही पासवर्ड कैसे मिल सकता है?
दुग्गू

@DuyguK - शायद इसका मतलब है कि आपका की-स्टोर पहले से मौजूद है। उस और फिर से हटाने की कोशिश करें। या एक गलत रास्ता जो आपने निर्दिष्ट किया हो
AnhSirk Dasarp

भगवान यह मुझे घंटे लग गए। आपको बहुत - बहुत धन्यवाद!
येंथे

मैं पूछना चाहता हूं, अगर नई विधि (कोड द्वारा कीशेज़ प्राप्त करें) किसी तरह से चालू प्रक्रिया को धीमा कर देती है। क्योंकि मुझे क्या पता है, जब हस्ताक्षर किए गए एपीके को बनाया जाता है, तो कीश अलग होते हैं। वैसे भी कोड के लिए धन्यवाद! :)
marson

क्या सरल विधि एमुलेटर के बिना काम करेगी लेकिन असली एंड्रॉइड डिवाइस पर?

24

हैश कुंजी उत्पन्न करने का सबसे सरल तरीका।

आवश्यकता: SHA1 कुंजी

आप अपनी कीस्टोर फ़ाइल से SHA1 कुंजी को दो तरीकों से प्राप्त कर सकते हैं

1) अपनी कीस्टोर फ़ाइल का पता लगाएँ, उस स्थान पर कमांड प्रॉम्प्ट खोलें, फिर नीचे दी गई कमांड का उपयोग करें

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

और फिर अपना पासवर्ड दर्ज करें फिर यह md5, sha1 और sha256 कुंजी लौटाएगा।

या

2) चलाकर signingReport

छवि के नीचे देखें।

यहाँ छवि विवरण दर्ज करें

फ़ाइल चलाने के बाद आपका आउटपुट आवश्यक sha1 कुंजी के साथ उत्पन्न होगा।

यहाँ छवि विवरण दर्ज करें

आवश्यक SHA1 कुंजी प्राप्त करने के बाद

फिर जाएं

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

और अपनी sha1 कुंजी पेस्ट करें

यहाँ छवि विवरण दर्ज करें

और अंत में आपको आवश्यक HashKey मिलेगा जिसका उपयोग आप facebook पर आवेदन करने के लिए कर सकते हैं।


2
यह उत्तर दूसरों की तुलना में बहुत सरल है क्योंकि यह केवल अंतिम आउटपुट की परवाह करता है। हमेशा सही। अन्य मामलों में, यदि हस्ताक्षर प्रक्रिया गलत हो जाती है, तो हमें पता नहीं चलेगा कि कैसे ठीक किया जाए।
hakuna1811

1
आकर्षण की तरह भयानक काम दोस्त
धीरज जायसवाल

14

सही कुंजी हैश को टोस्ट करने के लिए निम्नलिखित कोड को जोड़कर सही कुंजी एप्लिकेशन से ही प्राप्त की जा सकती है (फेसबुक एसडीके 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 बदलें


इसका उपयोग करके डिबग और रिलीज़ मोड के लिए HashKey उत्पन्न करें। stackoverflow.com/questions/7506392/…
नईम इब्राहिम

12

I. फेसबुक के लिए कुंजी हैश डिबग बनाएं

फेसबुक के लिए कुंजी हैश प्रिंट करने के लिए कोड जोड़ें

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

    }

द्वितीय। फेसबुक के लिए प्रमुख हैश रिलीज बनाएं

  1. डाउनलोड .sl-0.9.8e_X64

  2. C ड्राइव में एक ओपनस् फोल्डर बनाते हैं

  3. Opensl फ़ोल्डर में ज़िप फ़ाइलों को निकालें

  4. शुरू -> भागो: cmd (प्रेस दर्ज करें)

  5. (प्रेस) cd C: \ Program Files \ Java \ jdk1.6.0_45 \ bin। नोट: C: \ Program Files \ Java \ jdk1.6.0_45 \ bin: आपके कंप्यूटर में jdk फ़ोल्डर का पथ है

  6. (प्रेस) keytool -exportcert -alias gci -keystore D: \ folder \ keystorerelease | C: \ opensl \ bin \ opensl sha1 -binary | C: \ opensl \ bin \ खुलता है base64। नोट: D: \ folder \ keystorerelease: आपके keystorerelease का मार्ग है

  7. कीस्टॉर पासवर्ड दर्ज करें: यह पासवर्ड तब होता है जब आपका रजिस्टर कीस्टेरेलरेज करता है।

    तब आपके पास एक प्रमुख हैश होगा: jDehABCDIQEDWAYz5Ow4sjsxLSw =

  8. फेसबुक लॉगिन करें। एप्लिकेशन प्रबंधित करने के लिए प्रवेश। Developers.facebook.com पर अपने ऐप को हैश पेस्ट करें


इसका उपयोग करके डिबग और रिलीज़ मोड के लिए HashKey उत्पन्न करें। stackoverflow.com/questions/7506392/…
नईम इब्राहिम

9

इस समस्या से निपटने के लिए SIMPLEST समाधान:

मुझे अब यह समस्या दो महीने से है। मेरी कुंजी हैश 9 तक पाई गई है। आज मुझे आखिरकार सरल समाधान मिल गया है:

चरण 1:

आप अपने फोन पर फेसबुक डेवलपर पेज से डाउनलोड किया गया फेसबुक एसडीके इंस्टॉल करें। सामान्य फेसबुक ऐप इंस्टॉल न करें। सुनिश्चित करें कि आप फेसबुक में लॉग इन कर सकते हैं। फिर लॉग आउट करें।

चरण 2:

एक एपीके के रूप में अपनी अंतिम रिलीज कुंजी के साथ अपने ऐप को निर्यात करें, जैसे कि आप इसे प्लेस्टोर पर अपलोड करते समय।

चरण 3:

अपने फोन पर यूएसबी केबल या यूएसबी स्टिक के जरिए एप फाइल डालें।

चरण 4:

फ़ाइल प्रबंधक का उपयोग करके अपना ऐप इंस्टॉल करें: उदाहरण

चरण 5:

अपना ऐप लॉन्च करें और फेसबुक से लॉग इन करने की कोशिश करें। एक डायलॉग खुलेगा और आपको बताएगा: "फेसबुक डेवलपर कंसोल में आपकी THEHASHKEY कुंजी नहीं मिली है"

चरण 6:

कुंजी लिखें।

चरण 7:

इसे अपने फेसबुक डेवलपर कंसोल में डालें और सेव करें। अब तुम हो गए। कोई भी व्यक्ति जो आपके ऐप को डाउनलोड करता है, पहले इस्तेमाल किए गए कीस्टोर के साथ प्रकाशित होकर फेसबुक में लॉग इन कर सकता है।

का आनंद लें


बस एक नोट: आपको लॉग से कॉपी की गई कुंजी के बाद '='
डालना होगा

7

यदि आप जारी कर रहे हैं, तो अपने ऐप को निर्यात करने के लिए उपयोग किए जाने वाले कीस्टोर का उपयोग करें और डिबग.स्टिस्टोर का नहीं।


1
नमस्ते, मैं अपने आवेदन कीस्टार का उपयोग करने के लिए कीश उत्पन्न करने की कोशिश की है, लेकिन जब भी मैं अपने आवेदन से कुछ भी साझा करने की कोशिश करता हूं तो यह मुझे त्रुटि देता है कि आवेदन फेसबुक लॉगिन के लिए गलत है। लेकिन जब मैं debug.keystore के माध्यम से उत्पन्न कीश की कोशिश करता हूं तो यह काम करता है। क्या आप इस पर मेरी मदद कर सकते हैं।
कुणाल


6

अंत में :)

यहाँ मेरी कहानी है:

  1. लेआउट सेट करने के बाद इस कोड को अपनी मुख्य गतिविधि में जोड़ें।

    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. PROJECTNAME को अपने पैकेज के नाम में बदलें!

  3. अपने एप्लिकेशन पर हस्ताक्षर करें (Android टूल-> साइन किए गए एप्लिकेशन निर्यात करें)
  4. अपनी मुख्य गतिविधि में जहां आप 2 विकल्प से कोड पेस्ट करते हैं, अपने लेआउट में आईडी टेक्स्टस्ट्रिंग के साथ टेक्स्ट व्यू बनाएं
  5. दो लाइनों को अनकम्फर्ट करें, कि आपका साइन कोड TextView 6 वूओलिया पर सेट होगा, आपके पास आपका एचएएसएच है, अपने फोन पर ऐप इंस्टॉल करें !!! और अपने हैश कुंजी की जाँच करें!
  6. अब यह दिखाई देने पर, आपके द्वारा बनाए गए facebook ऐप पर जाएं और इसे [Key Hashes] में जोड़ें
  7. ध्यान दें कि आपका पैकेज का नाम facebook पर [पैकेज का नाम] [की हैश] के तहत समान होना चाहिए
  8. आपका दिन शुभ हो :)

5

फेसबुक के लिए उत्पन्न करने के लिए एक लाइन समाधान

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

4

रिलीज़ कुंजी हैश उत्पन्न करने के लिए आपको कुछ आसान चरणों का पालन करने की आवश्यकता है।

1) Openssl डाउनलोड करें

2) C ड्राइव में एक ओपनस् फोल्डर बनाते हैं

3) C ड्राइव में बनाए गए इस ओपनस् फोल्डर में जिप फाइल को निकालें।

4) मेरे मामले में .android फ़ोल्डर से फ़ाइल debug.keystore की प्रतिलिपि बनाएँ (C: \ Users \ System.android) और मेरे मामले में JDK बिन फ़ोल्डर में पेस्ट करें (C: \ Program Files \ Java \ jdk1.6.6_05 \ bin)

5) कमांड प्रॉम्प्ट खोलें और मेरे मामले में JDK बिन फ़ोल्डर का रास्ता दें (C: \ Program Files \ Java \ jdk1.7.0_40 \ bin)।

6) निम्नलिखित कोड को कॉपी करें और हिट दर्ज करें

keytool -exportcert -alias abcd-keystore D: \ Projects \ MyAppFolder \ keystore.txt | C: \ opensl \ bin \ opensl sha1 - बाइनरी | C: \ opensl \ bin \ opensl base64 ex - keytool -exportcert -alias (आपका सिंग एपीके उपनाम नाम यहां दर्ज करें जैसे मेरा साइन apk alian name abcd है) -Stystore "पर हस्ताक्षर किए गए एपीके जनरेट एपीके जनरेट किए गए एपीथ एंटर यहाँ" | "खुलता है बिन फ़ोल्डर पथ यहाँ दर्ज करें" Sha1 - बाइनरी | "खुलता है बिन फ़ोल्डर पथ यहाँ दर्ज करें" बेस 64

7) अब आपको पासवर्ड, पासवर्ड दर्ज करने की आवश्यकता है = (यहां अपना साइन कीस्टोर पासवर्ड दर्ज करें)

8) आपको कीस्टोर मिला जो कि रिलीज़ ऐप कुंजी हैश के लिए उपयोग किया जाता है


3

भले ही यह धागा पुराना है, फिर भी मैं अपना अनुभव साझा करना चाहता हूं (हाल ही में फेसबुक के साथ काम करना शुरू किया है), जो मुझे सीधे लगता है:

  1. डाउनलोड बोल्स् को लिंक बलो से: https://code.google.com/p/openssl-for-windows/downloads/list
  2. इसे एक स्थानीय ड्राइव पर अनज़िप करें (उदाहरण के लिए, C: \ opensl)
  3. फेसबुक एकीकरण के लिए विकास कुंजी प्राप्त करने के लिए, विंडोज़ में कमांड लाइन से निम्न कमांड का उपयोग करें:

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

नोट !: कृपया अपने स्वयं के इंस्टॉलेशन पथ के साथ खुलता है। इसके लिए पथ को प्रतिस्थापित करें। इस उदाहरण में (यह उदाहरण है "सी: \ खुलता है \ बिन \ खुलता है।")

  1. यह पासवर्ड के लिए संकेत देगा, जैसे,

पासवर्ड दर्ज करें: Android

पासवर्ड के अनुसार android टाइप करें जैसा कि ऊपर दिखाया गया है।

बस! आपको 28 वर्ण लंबी कुंजी दी जाएगी। चीयर्स!

रिलीज़ कुंजी प्राप्त करने के लिए समान प्रक्रिया का उपयोग करें। बस निम्नलिखित के साथ कमांड को बदलें और अपनी रिलीज़ कुंजी का उपयोग करें।

keytool -exportcert -alias your_RELEASE_KEY_ALIAS -keystore आपका_RELEASE_KEY_PATH | "PATH FOR Opensl.exe" sha1 -binary | खुलता है base64


लेकिन यह पासवर्ड पूछते हुए दिखा रहा है कि हस्ताक्षरित कीस्टोर पासवर्ड भी दे रहा हूं और फिर दिखा रहा है कि कैसर लॉंगगॉव
हर्षा

सुनिश्चित करें कि
खुलने के

3

डीबग हैश कुंजी उत्पन्न करें

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

जनरेट रिलीज़ हैश कुंजी

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

2

विषय पर शानदार ब्लॉग पोस्ट

.P12 कुंजी से कुंजी हैश को निकालना

  1. टर्मिनल या कमांड लाइन खोलें और जहां आपकी .p12 कुंजी है वहां नेविगेट करें।
  2. इसमें टाइप करें: “keytool -v -list -Stystore mycert.p12 -storetype pkcs12 12 जहाँ mycert.p12 आपकी .p12 कुंजी का फ़ाइल नाम है।
  3. कीस्टोर पासवर्ड दर्ज करें (जिसे आप निर्यात करते समय उपयोग करते हैं। P12 कुंजी)। ४। शा 1 फिंगरप्रिंट हस्ताक्षर बाइट्स टेक्स्ट कॉपी करें।
  4. Sha1 फ़िंगरप्रिंट हस्ताक्षर वाले बाइट्स को "sha1.bin" फ़ाइल लिखने के लिए आवश्यक है। आपके द्वारा कॉपी किए गए बाइट्स को चिपकाने के लिए आप एक हेक्साडेसिमल संपादक का उपयोग कर सकते हैं। बाद में, फ़ाइल को "sha1.bin" के रूप में सहेजें।
  5. फिर से टर्मिनल खोलें और इसमें टाइप करें: "Opensl base64 -in sha1.bin -out base64.txt"।
  6. परिणामी "base64.txt" में फेसबुक के लिए आवश्यक कुंजी हैश होगा।

मैक के लिए महान और सरल हेक्साडेसिमल संपादक: HexFiend

ओपनएसएसएल को मैक पर पूर्वस्थापित किया जाना चाहिए, और यहां विंडोज संस्करण के लिए लिंक है।

संपर्क


यह एडोब आकाशवाणी ऐप डेवलपर्स (फ्लैश या अपाचे फ्लेक्स) के लिए बहुत अच्छी जानकारी है। और फेसबुक एसएसओ के लिए "क्लास का नाम" होना चाहिएAppEntry
अलेक्जेंडर फार्बर

2

कुंजी के लिए पासवर्ड पास करने का प्रयास करें और कमांड के भाग के रूप में संग्रहीत करें

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

1

मैं यहां कुछ समाधानों के साथ अनुरोध किए गए कार्य को करने में सक्षम था, लेकिन अपने आप को लगा कि लड़का बेवकूफ है ... एक छोटा जावा कोड क्यों नहीं लिखता है जो ऐसा करता है और इसे जार में पैक करता है, इसलिए मैंने किया। ..

जार डाउनलोड करने के लिए एक लिंक

विंडोज 8 पर काम करता है ... किसी भी अन्य ओएस की कोशिश नहीं की।


1
जो मुझे समझ नहीं आ रहा है, अगर मुझे यह सब सीखने में कुछ घंटों का समय लग गया और इस पर रोक लगा दी, तो क्यों नहीं बड़ी कंपनियों में से किसी ने पहले से ही हमें जानकारी प्रदान करने के लिए एक आसान तरीका प्रदान किया है जिससे वे हमसे पूछें ???
TacB0sS

1

हाय सब अपनी कहानी है कि मैं कैसे साइन इन करें फेसबुक के लिए कुंजी है

सबसे पहले आपको सिर्फ अपनी पहली कक्षा में इस 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();
}

** कॉल funcation getAppKeyHash () अपने oncreate methode से (यदि आप साइन इन करना चाहते हैं तोह पर हस्ताक्षर किए हुए बिल्ड पर हस्ताक्षर करें और रन करें) आपको हैश कुंजी डायलॉग में मिल जाएगी, तो बस इसे नोट करें और इसे फेसबुक देव खाते पर अपडेट करें और उस फ़ंक्शन पर टिप्पणी करें और एक और बनाएं हस्ताक्षरित APK **


1

यदि आपका पासवर्ड = एंड्रॉइड गलत है, तो अपना पीसी पासवर्ड उस पर डालें जो मेरे लिए काम करता है।

और जेनहैश जेनरेट करने के लिए इस लिंक को यहाँ देखें


0

मेरे लिए काम करने वाली एकमात्र चीज पासवर्ड का उपयोग है android। वहाँ किसी भी गाइड में इसका उल्लेख क्यों नहीं किया गया है?


0

लॉग में प्रिंट कुंजी हैश के लिए कोटलिन में इसका उपयोग करें

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

    }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.