【问题标题】:Gettin hash key for facebook app with keytools使用 keytool 获取 facebook 应用程序的哈希键
【发布时间】:2011-09-14 06:32:40
【问题描述】:

所以这是我的问题。

当我运行 keytool 来获取哈希键时,它会给我 ; openssl 不是有效的命令、程序等。

我已经安装了openssl,路径是:C:\Program Files (x86)\GnuWin32\bin\openssl

错了吗?

我应该如何编写命令行?

我试着这样写:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 - 二进制 | openssl base64

不起作用,所以我尝试这样:

keytool -exportcert -alias androiddebugkey -keystore c:\Users\Richie.android\debug.keystore | openssl sha1 - 二进制 | openssl base64

没用……

我应该指定openssl的路径还是我应该怎么做?

我也在 Cygwin 中尝试过,但我什至没有 keytools 在那里操作,因为我不知道如何转到正确的文件夹(程序文件 (x86)\Java\jre6\bin)

有什么想法吗?我要死在这里......

【问题讨论】:

  • 如何粘贴错误消息而不是说“不起作用”?

标签: android facebook openssl


【解决方案1】:

嗨,Richie,你必须写下你的密钥库和 openssl 文件夹的路径,我就是这样做的......

我已经在 ::

中安装了 OpenSSL

C:\openssl

我的 Keystore 的路径和名称是 ::

C:\android\gruporeforma.keystore

所以这就是我在命令行中写的 ::

keytool -exportcert -alias gruporeforma - 密钥库 "C:\android\gruporeforma.keystore" | c:\openssl\bin\openssl sha1 -binary | c:\openssl\bin\openssl enc -a -e

【讨论】:

  • 嗨!你使用windows命令工具吗?当我把它放进去时,它只是说“程序不是一个有效的命令”我的路径是“c:program files (x86)\GnuWin32\bin\openssl”所以它可以工作。
  • 是的,只需转到“开始”->“运行...”并写“cmd”;并且您的路径必须是 ""c:\program files (x86)\GnuWin32\bin\openssl"
  • 开始工作了! keytool -exportcert -alias androiddebugkey -keystore "c:\users\richie\.android\debug.keystore" | "c:\program 文件 (x86)\g nuwin32\bin\openssl" sha1 -binary | "c:\program files (x86)\gnuwin32\bin\openssl " base64 Thanx man!!
  • 那太酷了!不要忘记接受我的回复为有效嘿嘿! =D
【解决方案2】:

是的,您需要指定 openssl 和 keytool 的路径,除非它们已经在您的 PATH 中。第一个命令应该在 Cygwin 中按类型工作,如果不是,您需要安装正确的软件包。或者只是继续使用 Windows,指定每个可执行文件的完整路径。

【讨论】:

    【解决方案3】:

    最好用这段代码

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

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 2011-05-22
      • 1970-01-01
      相关资源
      最近更新 更多