密钥库证书的SHA-1指纹


459

获取SHA-1指纹的方法是否与获取指纹的方法相同?以前,我运行以下命令:

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

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


希望此链接对您有所帮助。 stackoverflow.com/questions/12214467/...
Poras巴德瓦杰

获取SHA-1发行版和调试模式android studio gradle的最简单方法。检查此内容
Naeem Ibrahim

在您的终端中运行以下命令:keytool -exportcert -list -v \ -alias androiddebugkey -keystore〜/ .android / debug.keystore。它将询问您的密钥库密码。您可以从android / keystore文件夹中名为“ debug.keystore.properties”的文件中找到它
Akhilesh Sinha

Answers:


803

请按照教程为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\,打开命令行,然后尝试使用上述命令进行调试/发布模式。


9
〜/是您在* nix系统中的主目录。在Windows下,只需使用%USERPROFILE%
Jay Sidri 2014年

1
如果要在Xamarin上编写Android应用程序,请使用以下命令:keytool -list -v -keystore“%USERPROFILE%\ AppData \ Local \ Xamarin \ Mono for Android / debug.keystore” -alias androiddebugkey -storepass android -keypass android
Jay Sidri 2014年

如何获得释放sha1。我从我的app.jks中获取它,但是console.google显示它已经使用过。
عثمانغني

1
$ keytool -list -v -keystore〜/ .android / debug.keystore -storepass android仅此方法也
可行

1
查看此内容以使用Android Studio获取SHA-1密钥。easybook4u.com/index.php/2017/08/25/...
人士Himanshu阿罗拉

652

如果您使用的是Android Studio,请使用简单的步骤

  1. 运行你的项目
  2. 点击Gradle菜单
  3. 展开Gradle Tasks
  4. 双击android-> signingReport并查看魔术
  5. 它会在“运行”选项卡上告诉您所有信息

在此处输入图片说明

如果Android Studio <2.2,则在“运行”选项卡下显示结果
在此处输入图片说明

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

在此处输入图片说明

或者
Second Way是
在android studio中新建项目-> Google Maps Activity

在此处输入图片说明

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

在此处输入图片说明


2
我的“渐变项目”窗口为空...为什么会有这样的想法?
LairdPleng,2015年

1
一旦你在模拟器或设备或者运行该项目将出现
LOKESH蒂瓦里

1
是的,我尝试过,但没有任何反应。就我而言,似乎必须先按下“刷新”按钮才能显示任何内容!
LairdPleng,2015年

1
所有应用程序的sha1键都相同吗?还是每个应用都不同?
安华·侯赛因

3
现在,它显示在Android Studio 2.2.3的“ Gradle Console”选项卡下
Irfan Raza

196

在Android Studio中同时获取SHA1密钥的最简单方法(调试和发布模式)

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

如果您使用的是新的Android Studio,它会显示执行时间,然后单击“切换”任务执行模式,您会得到SHA-1键。检查第二和第三参考图像。

查看图片以获取详细信息 在此处输入图片说明在此处输入图片说明

为发布模式生成SHA-1

1-首先在gradle中添加keystore配置如何在gradle中添加配置

2-在gradle中添加配置后,更改构建变体。 在此处输入图片说明

3-然后按照上述步骤操作,您将获得SHA-1的释放模式。

4-检查图像。 在此处输入图片说明


1
如何更改位置?我知道在签名时如何更改为其他密钥库,但是默认密钥库又如何呢?
portfoliobuilder

1
带有图片的非常详细的答案,有很多帮助...比这里的其他答案更容易理解...投票支持图片的答案
Shirish Herwade 16/12/26

52

通过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 

45

如果您使用的是eclipse,请转到: 窗口->首选项-> Android->构建 您将在其中找到所需的内容。

在此处输入图片说明


1
在Android Studio的哪里可以找到对应的内容?我的IDE指向了错误的SHA1
portfoliobuilder


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/zh/content/google-android- map-v2-step-step


33

我看到了很多有关此问题的帖子,因此我将使其简单易懂并附带示例。

要获取SHAID for ClientID,以便通过Google+登录并执行其他操作:

一般形式:

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

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

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

密码:android

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

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

密码:您的别名密码。


1
很棒!我在console.developer.google.com中同时包含了DEBUG和RELEASE键。不知道是否真的需要。不过,在此G ** gle功能上花费了4个小时之后,它仍然可以正常工作。
文森特

如果您的别名键具有“ App Moon”之类的空格,则添加双引号“ App Moon”作为别名。
Shihab Uddin

最佳和可行的解决方案,对于google clientID我需要在发布模式下使用SHA-1,其他解决方案则在调试模式下为我们提供SHA-1
parsa dadras

31

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

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

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

在此处输入图片说明


1
真正的救星!我不知道为什么从命令提示符和android studio生成SHA-1键会有所不同。
Abhishek Mehandiratta

1
它显示用于调试的sha1,对于发行版本也一样吗?
Sanket Patel

@SanketPatel您是否获得了SHA1版本?
奥利弗·D

不,实际上我解决了我的问题,所以停止了搜索@Oliver
Sanket Patel

27

简单的解决方案...

  1. 在Android Studio中打开您的项目。
  2. 单击右侧的Gradle选项卡。如下

在此处输入图片说明

请按照以下步骤操作。3.展开:app模块->任务-> Android->签名报告。 在此处输入图片说明

  1. SHA-1将生成。如控制台中所示

@安比布尔


我做到了,但现在我无法调试我的应用了
Giacomo M

检查您的手机通过USB是否正确连接到笔记本电脑或台式机,否则重新启动Studio ...即可。
Ambilpura Sunil Kumar,

很棒的帖子,库玛!简单,清晰,有效!我刚刚获得了我的游戏SHA1。我要说的是,适用于Android Studio的DEBUG模式和适用于所有项目的Eclipse的SHA1相等-适用于AS和Eclipse中的所有项目的SHA1。
AlexPap

这是最简单的方法。
Tarasantan

这节省了我的时间
jokermt235

20

从Debug Keystore中,我们可以在中获取SHA1Eclipse。从菜单访问: Window-> Preferences-> Android->Build

但不适用于生产Keystore在此处输入图片说明

因此,要从生产Keystore中获取SHA1值,请转到: Android Tools-> Export Signed Application Package。按照签名APK的过程进行操作,SHA1将显示为证书。

在此处输入图片说明


17

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

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

上传签名证书

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

如果您使用Google Play应用签名,则Google会对您的应用重新签名。这就是Google Play应用签名提供您的签名证书指纹的方式,如下所示:

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

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


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

在此处输入图片说明

祝好运!!


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());
}

3
与证书无关。
罗恩侯爵

8

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


7

所有步骤的最佳方式:

对于发布密钥库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

完成


7

//获得SHA1的最简单方法

//将以下命令添加到您的终端,然后按Enter

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

6

您可以通过在Eclipse中转到任何工作区来获取MD5SHA1指纹。 Window>Preference>Android>Build


1
这样就可以完成工作,而不必经历导出和使用CMD的麻烦
ssj3goku878 2014年

6

如果您使用的是Android Studio IDE,则只需单击一下即可获得SHA1对所有构建变体的价值。

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

文件导航

下一个

打开运行窗口

转到变体:发布发布

转到变体:调试进行调试

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


我做到了,但是我没有SHA发行!
奥利弗·D

1
请确保您已在gradle的release块下的登录配置中添加了登录凭据。否则,它不会显示释放沙键
Jayakrishnan下午

6

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

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

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

现在直接输入以下命令:

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

经过数小时与这个问题的斗争,您的回答挽救了我的应用程序的生命。谢谢!!!!
Emzor


4

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

  • 运行你的项目

  • 点击Gradle菜单

  • 展开Gradle任务树

  • 点击android-> signingReport

在此处输入图片说明 如果没有显示任何内容(Android Studio 2.2),则

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



3

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

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


另一种获取调试模式的证书详细信息的方法是(1)右键单击android studio上的Gradle栏(2),然后单击app-> Tasks-> android-> signingReports,然后在Gradle控制台上,您将获得报告
Ghanshyam

3

此外 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的Answers中的方式运行signingReport,还将显示该发行版的SHA 1和MD5密钥。

样品


2

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

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

新的Google Map活动

您可以在图像下方看到SHA1


1

首先转到jar文件,复制keytool路径,然后将其添加到系统路径中,然后运行..我希望这个可以正常工作。


1

如果您使用的是Google Play应用签名,而不是从密钥库中获取SHA,一种更简单的方法是转到Google Play控制台>您的应用>版本管理>应用签名,然后查找您的上传证书。

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


这里显示了2个登录证书appsignin和已上传的signincertificates。我需要使用其中一个发布
Harsha

对于发布你需要使用的应用程序签名证书
ßiansor埃。Ålmerol

1

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

  1. 在Android Studio中打开您的项目。
  2. 单击右侧的Gradle选项卡。
  3. 将会看到两件事,一个是我们的项目(根),另一个是应用程序。
  4. 在您的情况下选择我们的项目,它可能是您的应用程序。
  5. 右键单击该项目并刷新。
  6. 然后单击项目放置Don按钮。
  7. 单击“任务”,将在其中看到android文件夹。
  8. 双击signingReport,将在“运行”控制台中查看详细信息。

0

对于本地用户,您可以从android studio轻松获取sha1,但对于实时直播,请检查以下url:

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文件这是您的密钥哈希。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.