如何从Java的keytool获取MD5指纹,而不仅仅是SHA-1?

由于我想在我的应用程序中使用Google地图,我需要debugging证书的MD5指纹。 我试过了:

(这里我复制了bin文件夹中的C:\ Documents and Settings \ Administrator.android中的debug.keystore文件)

C:\Program Files\Java\jdk1.7.0\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 

但得到以下结果:

 androiddebugkey, May 27, 2011, PrivateKeyEntry,Certificate fingerprint (SHA1): "some code" 

但是,这并不能获得MAP API密钥。 SHA1是否与MD5相同?

我应该怎么做才能获得MD5证书?

在安装JDK 1.7时,keytool始终默认输出SHA1指纹,而不是MD5。 您可以通过添加-v选项来获得MD5证书。

使用下面的代码:

 C:\Program Files\Java\jdk1.7.0\bin>keytool -v -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 

它也会输出MD5证书。

要获得MD5值和SHA1 …等休闲下面这个:

在此之前不要忘记将debug.keystore复制到像C盘中创build的Androidkeystore文件夹。

 C:\Program Files\Java\jdk1.7.0_05\bin>keytool -v -list -keystore C:\Androidkeyst ore\debug.keystore 

它在这里问..input密钥存储密码:android

input你在这里MD5&SHA1 ..等等

 Keystore type: JKS Keystore provider: SUN Your keystore contains ? entry Alias name: androiddebugkey Creation date: ?? ???, ???? Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[?]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 67b6344b Valid from: Mon Jun 18 20:33:56 IST 2012 until: Wed Jun 11 20:33:56 IST 2042 Certificate fingerprints: MD5: C2:61:51:3E:BC:C8:0C:DB:75:B6:E7:C4:90:AD:91:39 SHA1: CD:5E:8A:0F:4E:0F:2E:FD:92:5E:5E:4R:CF:F8:44:33:2C:8C:B8:97 SHA256: B5:BF:75:60:DB:62:09:49:F1:38:CH:49:18:22:18:95:03:C9:5C:14:F6: B0:F4:21:D2:19:B8:FF:38:D2:B9:FD Signature algorithm name: SHA256withRSA 

注意:如果目录path中有任何空格,则必须将其用引号引起来。 例如使用这种格式:

-keystore“C:\ Users \ Your Name \ .android \ debug.keystore”

-v

keytool之后和之前

 keytool -v -list 

如果你使用jdk 7:

使用-v选项。

-v标志也给出了SHA1authentication。 没有这个标志,你只能得到MD5指纹。

将“debug.keystore”文件复制到c:\或某个文件夹中

你尝试去c:\Program Files\Java\jdk1.6.25\bin folder并input

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -keystore c:\debug.keystore

密码是'android'

我已经通过打开命令提示符(Admin)解决了Windows 8中的问题,然后键入:

 C:\Program Files (x86)\Java\jre7\bin>keytool -v -list -keystore C:\<Your Path>\<Your Keystore> 

之后,只需访问https://code.google.com/apis/console/

当他们更改为新的界面时,您必须转到左侧的API和身份validation选项卡,然后转到已注册的应用程序 ,使用先前生成的SHA1代码select您现有的API密钥来replace它,或者创build一个新密钥。

这就是我得到它的工作。

JDK 1.7 keytool总是返回SHA1指纹。 看那里解决问题,而不是降级您的JDK: http : //code.google.com/p/android/issues/detail? id= 19035#makechanges

只需在eclipse中使用keystore导出项目,在最后一步,您将获得SHA-1和MD-5。

在这里输入图像说明

看看这个问题的更多细节。