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

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


当前回答

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

其他回答

截至2020年9月,如果您想获得发布密钥存储库证书的SHA-1指纹。只需打开您的谷歌播放开发控制台,并打开应用程序签名选项卡。

除了Lokesh Tiwar的回答

对于发布版本,在gradle中添加以下内容:

android {

defaultConfig{
//Goes here
}

    signingConfigs {
        release {
            storeFile file("PATH TO THE KEY_STORE FILE")
            storePassword "PASSWORD"
            keyAlias "ALIAS_NAME"
            keyPassword "KEY_PASSWORD"
        }
    }
buildTypes {
        release {
            zipAlignEnabled true
            minifyEnabled false
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

现在运行Lokesh's Answer中的signingReport将显示发布版本的SHA 1和MD5密钥。

如果你使用的是Android studio,这很简单。

创建一个新的谷歌映射活动,你可以看到如下图所示的sha1指纹。

这是MacBook Pro M2 2022上macOS Ventura 13.0的解决方案

我需要SHA1密钥谷歌云。

在项目所在的终端上运行此命令。我在做颤振的项目。

Keytool -keystore path-to-debug-or-production-keystore -list -v .使用实例

如果它不起作用并且得到这个错误,请继续执行。

访问https://www.java.com,下载并安装最新版本的Java。再次运行上面的命令,如果您得到类似的另一个错误,请继续执行。

运行此命令,将为您提供SHA1, SHA256, MD5作为默认调试密钥。并可用于谷歌播放业务的开发和调试。

Keytool -list -v -keystore ~/.android/debug。Keystore -alias androiddebugkey -storepass android -keypass android

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