带keytools的facebook应用程序的Gettin哈希键

问题描述:

所以这是我的问题。带keytools的facebook应用程序的Gettin哈希键

当我运行keytool获取散列键时,它会给我; OpenSSL是不是我已经安装了OpenSSL一个有效的命令,程序等

和路径是:C:\ Program Files文件(x86)的\的GnuWin32 \斌\ OpenSSL的

是不是错了?

我该如何写命令行?

我尝试写这样的:

密钥工具-exportcert -alias androiddebugkey -keystore〜/ .android/debug.keystore | openssl sha1 -binary | OpenSSL的BASE64

不工作,所以我尝试这样的:

密钥工具-exportcert -alias androiddebugkey -keystore C:\用户\ Richie.android \ debug.keystore | openssl sha1 -binary | OpenSSL的BASE64

不工作....

我应该指定路径OpenSSL的或我应该怎么办?

从来就试过在Cygwin中还,但我甚至不得到'cuase我不知道如何去正确的文件夹keytools在那里工作(程序文件(x86)\ Java的\ JRE6 \ BIN)

有任何想法吗?我在这里死去......

+0

怎么样粘贴错误信息,而不是说“不起作用”? – 2011-06-13 22:17:59

是的,你需要指定openssl和keytool的路径,除非它们已经在PATH中。第一个命令应该在Cygwin中输入,如果没有,则需要安装正确的软件包。或者继续使用Windows,指定每个可执行文件的完整路径。

嗨里奇你必须写在那里位于密钥库和OpenSSL的文件夹的路径,这是我在::

安装在C的OpenSSL我的方式...

: \ OpenSSL的

了我的密钥库的路径和名称是::

C:\机器人\ gruporefor ma.keystore

因此,这是我写在命令行::

密钥工具-exportcert -alias gruporeforma -keystore “C:\机器人\ gruporeforma。密钥库” | C:\ OpenSSL的\ BIN \ OpenSSL的SHA1 -binary | C:\ OpenSSL的\ BIN \ OpenSSL的ENC -a -e

+0

嗨!您使用的是Windows命令工具吗?当我把它放在它只是说“程序不是一个有效的命令”我的路径是“c:程序文件(x86)\ GnuWin32 \ bin \ openssl“所以它的工作。 – Richie 2011-06-13 22:53:34

+0

是的只是去”开始“ - >”运行...“并写入”CMD“;和你的路径必须是”“C:\程序文件(x86 )\ GnuWin32 \ bin \ openssl“ – Jorgesys 2011-06-13 22:59:32

+0

好吧,我会试试看! – Richie 2011-06-13 23:02:38

更好地利用这段代码

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

    }