Android:debug keystore

时间:2013-11-20 10:19:53

标签: java android android-keystore

我正在尝试使用以下命令获取facebook(Native Android App)登录的哈希密钥

C:\Program Files\Java\jre6\bin>keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Combitech\.android\debug.keystore"

我输入了密码“android”,但是我输入了一些输出,而不是哈希键

☺☺♂♣ 071♂0      ♠♥U♦♠‼☻US1►0♫♠♥U♦
431004061248Z071♂0      ♠♥U♦♠‼☻US1►0♫♠♥U♦
☺☺☺♣ ♥é☺☼ 0é☺0é☺"0
☺☺♂♣ ♥é☺☺ I$F╠≥C½?k½~U▬éïP▄ûπ^?╢Äïï▲D╓♣╥h☺⌡═Æ╠■≥        ,♦Wm#≥W▓♦↓┴1¡┼╩ú♀⌠,-62º ═V¶■‼   ûªE¢⌂φg╢çpSúuαΩ√:ôp∩<û╕úxj↓╠G♠=↔x ╥s0²↓¬}é←êR╜s╜↓■6║/6HεC≥Éq1J═α┐3í2PU╓i-←ë¿Φαπ°Åφε÷àX░R‼   ☺Lje      -w╘²L▲♣╧♦'7←âDτ╜
╤Ω▲£6uü░K■o↕ö§q┼6▌⌂(≡}º3EC┴bo>√ßS─▌a«¼╡τ▐ïñºñ¢._w]¥±▒0'σ√»?oÄ╙⌠X»C█2â1)√7zod

任何人都知道如何解决这个问题。

5 个答案:

答案 0 :(得分:1)

要显示SHA1哈希值(您需要使用Google API),所有其他哈希值都会使用此命令:

keytool -list -v -keystore "C:\Users\Combitech\.android\debug.keystore"

答案 1 :(得分:1)

您正在寻找的命令可能是:

"C:\Program Files\Java\jdk1.6.0_22\bin\keytool.exe" -exportcert -alias androiddebugkey -keystore "C:\Users\Combitech\.android\debug.keystore" | C:\OpenSSL-Win32\bin\openssl sha1 -binary | C:\OpenSSL-Win32\bin\openssl base64

提示:

  • 更好地使用keytool.exe位置的完整路径以及openssl的完整路径。
  • 不要忘记使用您的路径"C:\Users\Combitech\.android\debug.keystore"
  • 更改密钥库路径

更多信息here

答案 2 :(得分:0)

您可以从日食中获取MD5指纹和SHA1指纹。试试这个:

Windows&gt;偏好&gt; Android&gt;构建

请注意,将有两个不同的密钥,一个是默认密钥,另一个是用于应用程序开发的自定义密钥库。

答案 3 :(得分:0)

试试如下。并确保您调试密钥库文件是正确的。

您应该在keytool命令中添加'-v'。命令的-v将在MD5,SHA1和SHA256中获得指纹。

 keytool -list -v -keystore C:\Users\Combitech\.android\debug.keystore

您无需在debug.keystore文件路径中添加双引号。

答案 4 :(得分:0)

尝试此代码。它将在您的日志cat中返回哈希键。 并且不要忘记更改包名称

try {
            PackageInfo info = context.getPackageManager().getPackageInfo(
                    "com.example.package", PackageManager.GET_SIGNATURES); //Your package name here
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.v("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                }
        } catch (NameNotFoundException e) {
        } catch (NoSuchAlgorithmException e) {
        }