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

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


当前回答

请参考以下图片获取SHA-1密钥

其他回答

如果你没有Keystore和别名,你可以使用这个命令:

keytool -list -printcert -jarfile app.apk

第一步:首先在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

首先有一个与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());
}

如果你使用React Native,调试。Keystore在android/app中,但可能不在~/.android中。

设置调试。Keystore路径如下:

keytool -list -v -keystore {PROJECT_ROOT}/android/app/debug.keystore -alias androiddebugkey -storepass android -keypass android

控制台将打印如下内容:

Alias name: androiddebugkey
Creation date: Jan 1, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, OU=Android, O=Unknown, L=Unknown, ST=Unknown, C=US
Issuer: CN=Android Debug, OU=Android, O=Unknown, L=Unknown, ST=Unknown, C=US
Serial number: 2==Serial Number==2
Valid from: Wed Jan 01 06:35:04 CST 2014 until: Wed May 01 06:35:04 CST 2052
Certificate fingerprints:
     SHA1: 5E:=========== SHA1 SIGNING KEY ===========:25
     SHA256: FA:============ SHA 256 ===================9C
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

在最近更新的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频道解决了这个问题。这里是关于这个问题的视频链接。