576

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

运行 keytool.exe 的 Windows 命令提示符

我不清楚我得到的结果是否是 SHA-1 指纹。有人可以澄清一下吗?

4

41 回答 41

1060

按照教程为 Google Map v2 创建 SHA1 指纹

对于调试模式:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

对于发布模式:

keytool -list -v -keystore {keystore_name} -alias {alias_name}

例子:

keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test

在 Windows 上,如果找不到 keytool 命令,请转到您安装的 JDK 目录,例如<YourJDKPath>\Java\jdk1.8.0_231\bin\,打开命令行并尝试上述命令进行调试/发布模式。

使用 SHA1 或 SHA-256 的另一种方法./gradlew signingReport

有关更多详细信息,请访问 使用 Gradle 的签名报告

于 2013-03-31T08:59:06.633 回答
728

如果您使用的是 android studio,请使用简单的步骤

  1. 运行你的项目
  2. 点击 Gradle 菜单
  3. 展开 GradleTasks
  4. 双击android->signingReport看看魔法
  5. 它会告诉你运行选项卡上的一切

在此处输入图像描述

如果 Android Studio < 2.2 ,则运行选项卡下的结果
在此处输入图像描述

从 android studio 2.2
结果将在运行控制台下可用,但使用突出显示的切换按钮

在此处输入图像描述

或者
第二种方法是
在 android studio New -> Google Maps Activity 中创建新项目

在此处输入图像描述

然后打开 google_maps_api.xml xml 文件,如图所示,您将看到您的 SHA 密钥

在此处输入图像描述

于 2015-11-02T14:09:12.923 回答
205

在 android studio 中获取 SHA1 密钥的最简单方法(调试和发布模式)

  1. 打开Android Studio
  2. 打开您的项目
  3. 单击Gradle(从右侧面板,您将看到Gradle Bar
  4. 单击Refresh(从 Gradle Bar 单击 Refresh,您将看到 List Gradle 项目的脚本)
  5. 单击您的项目(您的项目名称表单列表)
  6. 单击任务/Android
  7. 双击signingReport(您将在运行栏中获得SHA1和)MD5

如果您使用的是新的 Android Studio,它会在顶部显示执行时间,点击切换任务执行模式,您将获得 SHA-1 密钥。检查第二和第三参考图像。

查看图片了解详情 在此处输入图像描述在此处输入图像描述

为发布模式生成 SHA-1

1-首先在您的 gradle 中添加密钥库配置如何在 gradle 中添加配置

2-在 gradle 更改构建变体中添加配置后。在此处输入图像描述

3-然后按照上述程序,您将获得用于发布模式的 SHA-1。

4-检查图像。在此处输入图像描述

于 2016-02-10T07:04:12.273 回答
78

通过 cmd 转到您的 java bin 目录:

C:\Program Files\Java\jdk1.7.0_25\bin>

现在在您的 cmd 中输入以下命令:

keytool -list -v -keystore "c:\users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 
于 2014-04-09T05:50:14.060 回答
45

如果您使用的是 eclipse,请转到: Window->Preferences->Android->Build 您会在那里找到您正在寻找的内容。

在此处输入图像描述

于 2014-01-27T07:57:08.617 回答
45

![去最左边[![][1][1]

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

在底部的控制台面板中查看

于 2017-02-22T12:02:04.567 回答
39

运行以下命令获取您的 sha1:keytool -v -list -keystore "< debug.keystore path >"
如果您不知道 的路径debug.keystore,您可以debug.keystore通过检查找到您的路径windows-->preferences-->android-->build

我准备了一步一步的教程来展示如何在模拟器(android 4.2.2)上使用google map android v2
看看我的博客:http ://umut.tekguc.info/en/content/google-android- map-v2-step-step

于 2013-04-02T05:46:17.357 回答
38

我看到很多关于这个问题的帖子,所以我会保持简单+示例。

要获取 ClientID 的 SHA1 以使用 Google+ 登录和更多操作:

一般形式:

keytool -list -v -keystore <your_keystore_full_path> -alias <your_alias_name>

对于调试,替换为您的 debug.keystore 路径,例如:

keytool -list -v -keystore C:\Users\DAVID\.android\debug.keystore -alias androiddebugkey

密码:安卓

对于 Release,请替换为您的密钥库路径和别名密码,例如:

keytool -list -v -keystore C:\ProjectsData\keystore\my-release-key.keystore -alias alias_name 

密码:您的别名密码。

于 2014-08-07T13:18:44.067 回答
35

这是对我有用的逐步过程。

首先运行应用程序,然后按照以下步骤操作(也显示在屏幕截图中)

  1. 点击签名报告
  2. 打开 gradle 控制台对话框
  3. 它应该显示您的 SHA-1 证书编号

在此处输入图像描述

于 2018-09-27T21:00:16.093 回答
25

在您的应用中使用Google Play 应用签名功能和 Google API 集成?

  1. 如果您使用的是 Google Play App Signing,请不要忘记 Google API 凭据所需的发布签名证书指纹不是您通过此方法从您的应用获取的常规上传签名密钥 (SHA-1):

上传签名证书

  1. 您只能从 Google Play 控制台的应用签名页面获取您的版本 SHA-1,如下所示:-

如果您使用 Google Play 应用签名,Google 会重新签署您的应用。这就是 Google Play App Signing 给出您的签名证书指纹的方式,如下所示:

应用签名页面 - Google Play 控制台

阅读更多如果使用“Google Play 应用签名”,如何获得版本 SHA-1(签名证书指纹)

于 2018-02-02T17:08:40.047 回答
21

我有一个简单的答案。要在新的 Android Studio 版本中找到 SH1,请执行以下简单步骤

步骤 1进入设置,也可以按ctrl + alt + s

步骤 2转到 Experimental,然后取消勾选名为Do not build Gradle task during Gradle sync的选项,然后按 ok

第 3 步转到文件,然后选择同步项目与 Gradle 文件的选项

第4步单击面板右侧的Gradle ,然后单击Tasks,然后单击android,然后双击signingReport

然后你得到 SH1 指纹

在此处输入图像描述

于 2021-06-15T09:02:50.970 回答
20

从 Debug Keystore 我们可以得到SHA1Eclipse。从菜单访问: Window-> Preferences-> Android->Build

但它不适用于制作Keystore在此处输入图像描述

因此,要从生产密钥库中获取SHA1值,请转到: Android Tools-> Export Signed Application Package。按照流程签署您的 apk,SHA1 将显示为证书。

在此处输入图像描述

于 2014-11-12T19:51:06.273 回答
15

keytool 是一个密钥和证书管理实用程序。它允许用户使用数字签名管理他们自己的公钥/私钥对和相关证书,以用于自我认证(用户向其他用户/服务认证他/她自己)或数据完整性和认证服务。

对于 Windows

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

其他

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Android 上的授权使用SHA1 指纹和包名称来识别您的应用,而不是客户端 ID 和客户端密码

在此处输入图像描述

http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

于 2016-07-21T06:02:46.353 回答
13

对于Android Studio 4.2及更新版本,请按照以下步骤生成SHA Key。这些图片中给出了步骤。

脚步:-

1)点击gradleAndroid Studio的右上角。正如你在这张照片中看到的那样。

第1步

2)现在点击如下图所示的图标。将打开一个新的可搜索窗口/屏幕

SHA2

3)现在输入gradle signingreport并按Enter 开始生成SHA KEY,如下图所示。

沙3

4) 您的SHA 密钥将生成,如图所示。使用这些步骤,您可以在 Android Studio 4.2 中生成 SHA KEY。

sha4

于 2021-06-07T06:34:10.240 回答
10

在 Gnu/Linux 中

第一的

您需要 key.jks,例如在我的情况下,此文件位于 /Desktop/Keys 的文件夹中

/Desktop/Keys/key.jks

第二

cd /usr/lib/jvm/java-1.7.0-openjdk-amd64

现在你需要执行这个命令

keytool -list -v -keystore /PATH/file.jks -alias YourAlias -storepass *** -keypass ***

替换此字段

-keystore
-alias
-storepass
-keypass

例如

 keytool -list -v -keystore /home/david/Desktop/Keys/key.jks -alias MyAlias -storepass 456 -keypass 123

在此处输入图像描述

祝你好运!!

于 2016-02-29T19:07:24.757 回答
8

首先有相同的.jar文件,在fb-sdk android-support-v4.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());
}
于 2014-01-28T12:35:50.187 回答
8

所有步骤的最佳方式:

对于发布密钥库 SHA1 密钥

  1. 打开命令提示符
  2. C:\Users\hiren.patel>cd..
  3. C:\Users>cd..
  4. C:\>cd "Program Files"
  5. C:\Program Files>cd Java
  6. C:\Program Files\Java>cd jdk_version_code
  7. C:\Program Files\Java\jdk_version_code>cd bin
  8. C:\Program Files\Java\jdk_version_code\bin>keytool -list -v -keystore "D:\Hiren Data\My Root Folder\My Project Folder\keystore_title.jks" -alias my_alias_name -storepass my_store_password -keypass my_key_password

替换下面的东西:

  1. jdk_version_code
  2. D:\Hiren Data\My Root Folder\My Project Folder\keystore_title.jks
  3. my_alias_name
  4. my_store_password
  5. my_key_password

完毕

于 2016-02-09T04:36:59.320 回答
8

在此处输入图像描述

右侧 Gradle --> 签署项目获取所有密钥

于 2019-05-24T07:08:27.667 回答
8

第 1 步:首先在 Windows 电脑中找到JDK 的 bin文件夹。见下图。

我的是 :

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

在此处输入图像描述

第 2 步:现在通过在 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

在此处输入图像描述

于 2020-06-12T11:16:17.057 回答
7

如果您使用的是 Android Studio IDE,那么您可以一键获得 SHA1 对您的所有构建变体具有价值。

在 Gradle Projects 窗口下 >选择 Root Project > signingReport >双击

文件导航

下一个

打开运行窗口

转到变体:发布以发布

转到变体:调试调试

http://devdeeds.com/create-sha1-key-using-android-studio/

于 2016-07-14T08:40:30.367 回答
7

//获取SHA1的最简单方法

//将以下命令添加到您的终端并按Enter

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 
于 2017-05-20T05:35:25.853 回答
6

您可以通过Eclipse获取任何工作区的MD5SHA1指纹。 Window>Preference>Android>Build

于 2014-08-03T15:06:41.503 回答
6

在 Windows 中打开命令提示符并转到以下文件夹。

C:\Program Files\Java\jdk1.7.0_05\bin

使用命令cd <next directory name>将目录更改为下一个。使用命令cd ..将目录更改为 Prev

现在按原样键入以下命令:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
于 2017-02-08T08:04:23.530 回答
6

除了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 密钥。

样本

于 2017-12-30T07:25:33.210 回答
6

此解决方案适用于 android studio 3.5 版本:

  1. 在 Android Studio 中打开您的项目。
  2. 单击右侧的 Gradle 选项卡。
  3. 会看到两件事,一是我们的项目(根)和应用程序。
  4. 在您的情况下选择我们的项目,它可能是您的应用程序。
  5. 右键单击项目并刷新它。
  6. 然后单击项目下拉按钮。
  7. 单击将在其中看到 android 文件夹的任务。
  8. 双击signingReport,将在运行控制台中看到详细信息。
于 2020-03-28T07:50:35.163 回答
4

如果您使用的是 android studio,请使用简单的步骤:

  • 运行你的项目

  • 点击 Gradle 菜单

  • 展开 Gradle 任务树

  • 点击android->signingReport

在此处输入图像描述 如果没有显示(android studio 2.2)那么

Toggle tasks execution/text mode从运行栏中单击

于 2016-11-15T11:33:14.633 回答
4

我在使用命令打开时遇到问题

[keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test]

因此,我下载https://sourceforge.net/projects/portecle/。然后从 jar 程序中打开 .jks 文件。它将向您显示所有相关信息

节目截图

于 2019-02-20T16:47:59.467 回答
3

我正在使用 Ubuntu 12.0.4,并且在生成密钥库文件后,我已经以这种方式在命令提示符下获取证书指纹以用于发布密钥库,如果您在应用程序中使用谷歌地图,您可以将此密钥用于发布的应用程序,所以这个发布后可以在应用程序内正确显示地图,我在下面的命令提示符下得到了结果

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

于 2016-12-01T05:30:57.710 回答
3

如果您使用的是Google Play App Signing,而不是从密钥库获取 SHA,更简单的方法是转到 Google Play Console > Your app > Release Management > App signing 并查找您的上传证书。

您获取此信息的页面的屏幕截图

于 2017-12-11T19:54:33.877 回答
3

如果您没有密钥库和别名,则可以使用此命令:

keytool -list -printcert -jarfile app.apk
于 2019-10-26T17:33:32.347 回答
3

如果您使用的是 React Native,则 debug.keystore 在 中android/app,但可能不在~/.android.

设置 debug.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
于 2020-07-08T12:35:56.610 回答
3

截至目前Sept 2020,如果您想获取 .keystore 证书的SHA -1 指纹Release。只需打开您的Google Play Developer Console并打开App Signing标签。

在此处输入图像描述

于 2020-09-21T05:50:15.097 回答
3

简单的方法 - 使用 Keystore 资源管理器

按照步骤

  1. 下载密钥库资源管理器下载链接
  2. 安装密钥库资源管理器
  3. 通过密钥库资源管理器打开密钥库
  4. 输入密码
  5. 单击您的密钥库名称
  6. 然后您将获得 sha1 密钥
于 2021-01-24T09:28:09.867 回答
3

在最近更新的 Android Studio 4.2 中,我们无法获取文件:签名报告。因此,我们可以通过以下步骤再次获得它:

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 频道解决了这个问题。这是有关此问题的视频链接。

于 2021-07-01T04:55:33.300 回答
2

如果您使用的是 Android Studio,这非常简单。

创建一个新的 Google 地图活动,您可以看到如下图所示的 sha1 指纹。

新的谷歌地图活动

您可以在下图中看到 SHA1

于 2015-12-01T10:00:50.870 回答
2

在新更新中,只需转到Android文件夹并输入./gradlew signingReport

于 2022-01-08T12:54:47.510 回答
1

首先去jar文件复制keytool路径然后添加到系统路径然后运行..我希望这个工作..

于 2015-06-24T10:53:29.453 回答
1

对于本地用户,您可以轻松地从 android studio 获取 sha1,但对于现场用户,请查看以下网址:

Facebook Android 生成密钥哈希

我们大多没有完成以下步骤,因此请检查 100% 正确的链接。

8) If you see in openssl Bin folder, you will get a file with the name of debug.txt

9) 现在您可以重新启动命令提示符或使用现有的命令提示符

10)回到C盘并给出openssl Bin文件夹的路径

11)复制以下代码并粘贴

openssl sha1 -binary debug.txt > debug_sha.txt

12) 你将在 openssl bin 文件夹中获得 debug_sha.txt

13)再次复制以下代码并粘贴

openssl base64 -in debug_sha.txt > debug_base64.txt

14) 你将在 openssl bin 文件夹中获得 debug_base64.txt

15) 打开 debug_base64.txt 文件这是您的密钥哈希。

于 2016-07-04T10:17:50.820 回答
1

与您的用户一起尝试并通过

keytool -list -v -keystore {jks 文件路径} -alias {keyname} -storepass {keypassword} -keypass {aliaspassword}

可执行程序

keytool -list -v -keystore "E:\AndroidStudioProject\ParathaApp\key.jks" -alias key0 -storepass mks@1 -keypass golu@1

于 2017-10-25T01:22:44.907 回答
1

[![更改构建变体,然后您可以看到运行将导致错误的应用程序

您必须找到发布密钥的 SHA1 代码并在您的开发者控制台上输入它。(对我来说,开发者控制台是 firebase,有些人可能会使用不同的服务)查找 SHA1 代码。简单的方法是

Go to Build --- Select Build Variant - 在左侧选择“Release”作为构建变体 - 现在进入模块设置(或尝试运行项目,android studio会告诉你一个错误并点击修复错误按钮) --- 选择签名选项卡 --- 添加您的发布密钥和密码 -- 现在转到构建类型 -- 选择发布 -- 在签名配置上选择您的发布密钥配置 -- 现在运行您的项目 -- 现在运行您的签名报告 -- - 你可以在发布版本下找到 SHA1——在你的开发者控制台上输入那个 sha1 代码

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

就是这样

于 2020-10-26T12:31:04.077 回答
0

在 ANDROID STUDIO 执行以下步骤:

  1. 单击 ANDROID STUDIO IDE 右侧的 Gradle 菜单
  2. 展开任务树
  3. 点击签约报告

您将能够在 IDE 底部看到签名

于 2016-08-14T06:51:15.160 回答