密钥库证书的SHA-1指纹

问题描述 投票:374回答:31

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

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

android google-maps google-plus android-keystore
31个回答
687
投票

按照this教程为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

20
投票

从Debug Keystore我们可以获得Eclipse中的SHA1值。从菜单访问:Window - > Preferences - > Android - > Build

但它不适用于生产Keystore

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


12
投票

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

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

Upload signing certificate

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

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

App Signing page - Google Play Console

阅读更多How to get Release SHA-1 (Signing-certificate fingerprint) if using 'Google Play app signing'


11
投票

简单解决方案

  1. 将您的项目打开到Android工作室。
  2. 单击右侧的Gradle选项卡。如下

enter image description here

按照以下步骤操作.3。展开:应用程序模块 - >任务 - > Android - >签名报告。 enter image description here

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

@Ambilpur


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

enter image description here

祝好运!!


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

7
投票

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和客户端密钥。

enter image description here

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


7
投票

//获取SHA1的最简单方法

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

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

6
投票

您可以通过访问Eclipse中的Window>Preference>Android>Build获取任何工作空间的MD5和SHA1指纹。


6
投票

所有步骤的最佳方式:

对于Release Keystore 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

完成


6
投票

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

在Gradle Projects窗口>选择根项目> signingReport>双击下

File Navigation

下一个

Open Run Window

转到Variant:发布以供发布

转到Variant:调试以进行调试

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


576
投票

如果你使用android studio使用简单的步骤

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

enter image description here

结果在运行选项卡下如果Android Studio <2.2 enter image description here

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

enter image description here

要么 第二种方式是 在android studio New - > Google Maps Activity中创建新项目

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


5
投票

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

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

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

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

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

4
投票

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

  • 运行您的项目
  • 单击Gradle菜单
  • 展开Gradle任务树
  • 单击android-> signingReport

enter image description here如果没有显示(android studio 2.2)那么

Click on Toggle tasks execution/text mode from Run bar


4
投票

enter image description here

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


3
投票

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

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

2
投票

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

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

New Google Map aCTIVITY

YOU CAN SEE SHA1 IN BELOW IMAGE


1
投票

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


1
投票

如果您使用的是Google Play App Signing,而不是从密钥库获取SHA,则更简单的方法是转到Google Play控制台>您的应用>发布管理>应用程序签名,然后查找您的上传证书。


1
投票

除了Lokesh Tiwar's answer

对于发布版本,请在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的答案一样运行signingReport也会显示发布版本的SHA 1和MD5密钥。

Sample


0
投票

对于本地,你可以从Android工作室轻松获得sha1但是对于现场请查看以下网址:

Facebook Android Generate Key Hash

我们大多没有在下面的步骤中完成,所以请检查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文件这是你的密钥哈希。


0
投票

在ANDROID STUDIO执行以下步骤:

  1. 单击ANDROID STUDIO IDE右侧的Gradle菜单
  2. 展开“任务”树
  3. 在签名报告上叮当作响

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


181
投票

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

  1. 打开Android Studio
  2. 打开你的项目
  3. 单击Gradle(从右侧面板,您将看到Gradle Bar)
  4. 单击Refresh(单击Refresh from Gradle Bar,您将看到项目的List Gradle脚本)
  5. 单击您的项目(您的项目名称表单列表)
  6. 单击Tasks / Android
  7. 双击signingReport(您将在Run Bar中获得SHA1MD5

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

enter image description hereenter image description here

为发布模式生成SHA-1

1-first在你的gradle How to add config in gradle中添加keystore配置。

2-Gradle更改构建变量中添加配置后。 enter image description here

3 - 然后按照上述步骤,您将获得发布模式的SHA-1。

4 - 检查图像。 enter image description here


0
投票

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

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


45
投票

如果你正在使用eclipse,请转到:Window-> Preferences-> Android-> Build你会发现你在那里看到的东西。

enter image description here


44
投票

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

41
投票

![Go to far left[![][1][1]

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

View in console panel at bottom


39
投票

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

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


29
投票

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

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

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

enter image description here


27
投票

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

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

一般表格:

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 

密码:您的别名密码。

© www.soinside.com 2019 - 2024. All rights reserved.