获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:

我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?


当前回答

在最近更新的Android Studio 4.2中,我们无法获得文件:signing report。所以,我们可以通过以下步骤再次得到这个结果:

File -> Settings -> Experimental -> 
Now we need to uncheck the *do not build Gradle list during Gradle sync* ->
Click Ok -> now again go to File -> Click on *Sync Project with Gradle files*

现在你可以理解其他答案的意思了。

感谢@PapayaCoders Youtube频道解决了这个问题。这里是关于这个问题的视频链接。

其他回答

首先有一个与fb-sdk android-support-v4.jar相同的.jar文件。 然后使用以下命令生成SHA1密钥:

PackageInfo info;
try {

    info = getPackageManager().getPackageInfo(
        "com.example.worldmission", 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));
        Log.e("Hash key", something);
        System.out.println("Hash key" + something);
    }

} catch (NameNotFoundException e1) {
    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());
}

从调试密钥库中,我们可以在Eclipse中获得SHA1值。从菜单访问: 窗口->首选项-> Android ->构建

但它不适用于生产密钥库。

因此,要从生产密钥库中获取SHA1值,请执行以下命令: Android Tools ->导出签名应用程序包。遵循apk签名的过程,SHA1将显示为证书。

如果您正在使用谷歌Play应用程序签名,而不是从密钥库中获取SHA,更简单的方法是到谷歌Play控制台>您的应用程序> Release Management >应用程序签名并寻找您的上传证书。

第一步:首先在windows电脑中找到JDK的bin文件夹。请看下图。

我的答案是:

C:\Program Files\Java\jdk1.8.0_131\bin

第二步:现在在windows 10搜索栏中输入“cmd”搜索命令提示符。然后以管理员模式打开命令提示符。 请看下图:

步骤3:现在复制该路径并将其输入到命令提示符中

 C:\Program Files\Java\jdk1.8.0_131\bin

在命令提示符:

cd C:\Program Files\Java\jdk1.8.0_131\bin

按下Enter按钮后,您将进入bin文件夹。

您的设置完成了。现在生成释放模式的SHA1密钥。

释放SHA1密钥:

keytool -list -v -keystore C:\Users\Turzo\Desktop\earninglearning.keystore -alias turzo -storepass 12345678 -keypass 12345678

我使用的是Ubuntu 12.0.4,我已经通过这种方式在命令提示符上获得了发布密钥存储的证书指纹 在生成keystore文件后,你可以使用这个密钥发布应用程序,如果你在你的应用程序中使用谷歌映射,这样可以在发布后在应用程序中正确显示映射,我在下面的命令提示符中得到了结果

administrator@user:~$ keytool -list -v -keystore /home/administrator/mykeystore/mykeystore.jks -alias myprojectalias Enter keystore password: ****** Alias name: myprojectalias Creation date: 22 Apr, 2014 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=xyz, OU= xyz, O= xyz, L= xyz, ST= xyz, C=91 Issuer: CN= xyz, OU= xyz, O= xyz, L= xyz, ST= xyz, C=91 Serial number: 7c4rwrfdff Valid from: Fri Apr 22 11:59:55 IST 2014 until: Tue Apr 14 11:59:55 IST 2039 Certificate fingerprints: MD5: 95:A2:4B:3A:0D:40:23:FF:F1:F3:45:26:F5:1C:CE:86 SHA1: DF:95:Y6:7B:D7:0C:CD:25:04:11:54:FA:40:A7:1F:C5:44:94:AB:90 SHA276: 00:7E:B6:EC:55:2D:C6:C9:43:EE:8A:42:BB:5E:14:BB:33:FD:A4:A8:B8:5C:2A:DE:65:5C:A3:FE:C0:14:A8:02 Signature algorithm name: SHA276withRSA Version: 2 Extensions: ObjectId: 2.6.28.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 1E A1 57 F2 81 AR 57 D6 AC 54 65 89 E0 77 65 D9 ..W...Q..Tb..W6. 0010: 3B 38 9C E1

在Windows平台上,我们可以使用下面的方法获取调试模式的密钥库

C:\Program Files\Java\jdk1.8.0_102\bin>keytool -l .android\debug.keystore -alias androiddebugkey -s id Alias name: androiddebugkey Creation date: Oct 21, 2016 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: C=US, O=Android, CN=Android Debug Issuer: C=US, O=Android, CN=Android Debug Serial number: 1 Valid from: Fri Oct 21 00:50:00 IST 2016 until: S Certificate fingerprints: MD5: 86:E3:2E:D7:0E:22:D6:23:2E:D8:E7:E SHA1: B4:6F:BE:13:AA:FF:E5:AB:58:20:A9:B SHA256: 15:88:E2:1E:42:6F:61:72:02:44:68 56:49:4C:32:D6:17:34:A6:7B:A5:A6 Signature algorithm name: SHA1withRSA