keystore证书的SHA-1指纹

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

Windows命令提示符正在运行keytool.exe .exe .

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

942889 次浏览

跟随教程为谷歌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

更多详细信息请访问 # EYZ0 < / p >

keytool -v -list -keystore "< debug.keystore path >"
. sha1 .

执行以下命令获取sha1 如果你不知道debug.keystore的路径,你可以通过检查windows-->preferences-->android-->build

来找到你的debug.keystore路径 我准备了一步一步的教程,展示如何在模拟器上使用谷歌映射android v2 (android 4.2.2)
看看我的博客:http://umut.tekguc.info/en/content/google-android-map-v2-step-step

如果你正在使用eclipse,转到: 窗口- >首选项- > Android - >构建 你会在那里找到你要找的东西。

enter image description here

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

通过cmd进入你的java bin目录:

# EYZ0

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

keytool -list -v -keystore "c:\users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

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

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

要获得SHA1的客户端登录与谷歌+和更多的行动:

一般形式:

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

对于调试,替换为调试。例如:

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

密码:安卓

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

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

密码:您的别名密码。

从调试密钥库中,我们可以在Eclipse中获得SHA1的值。从菜单访问: Window -> Preferences -> Android -> Build

但它并不适用于Keystore的产品。 enter image description here

因此,要从生产密钥库中获得SHA1值,请到: # eyz0 -> # eyz1。遵循apk签名的过程,SHA1将显示为证书

enter image description here

首先到jar文件复制keytool路径,然后添加到系统路径,然后运行。我希望这是有效的。

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

  1. 运行你的项目
  2. 点击Gradle菜单
  3. 展开Gradle Tasks
  4. 双击android -> signingReport,看看神奇的效果
  5. 它将在Run选项卡上告诉您所有信息

enter image description here

如果Android Studio < & 运行选项卡;2.2 < br > # EYZ0 < / p > < p > # EYZ0 < br > 结果将在运行控制台下可用,但使用高亮切换按钮

enter image description here

< p >或< br > 第二种方法是
在android studio new ->谷歌中创建新项目>

enter image description here

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

# EYZ0 < / p >

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

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

New谷歌Map aCTIVITY

YOU CAN SEE SHA1 IN BELOW IMAGE

所有步骤的最佳方式:

# EYZ0:

  1. 打开命令提示符
  2. # EYZ0
  3. # EYZ0
  4. # EYZ0
  5. # EYZ0
  6. # EYZ0
  7. # EYZ0
  8. # EYZ0

取代下面的东西:

  1. # EYZ0
  2. # EYZ0
  3. # EYZ0
  4. # EYZ0
  5. # EYZ0

完成

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

  1. 打开# EYZ0
  2. 打开你的项目
  3. 点击Gradle(从右侧面板,你会看到Gradle酒吧)
  4. 点击刷新(从Gradle栏点击刷新,你会看到项目的Gradle脚本列表)
  5. 点击你的项目(你的项目名称表单列表)
  6. 点击Tasks/Android
  7. 双击signingReport(你会得到SHA1MD5在运行栏)

如果你正在使用新的Android Studio,它会显示执行时间,上面有切换任务执行模式,点击它,你会得到SHA-1密钥。检查第二和第三参考图像。

Check image for details # EYZ0 # EYZ1 < / p >

为释放模式生成SHA-1

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

2-在gradle中添加Config后更改构建变量。# EYZ0

3 .然后按照上面的步骤,你将获得SHA-1释放模式。

4-Check形象。# EYZ0

在Gnu / Linux

第一个

你需要钥匙。例如,在我的例子中,这个文件在/Desktop/Keys文件夹中

/Desktop/Keys/key.jks

# EYZ0

# EYZ0

现在您需要执行这个命令

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

祝你好运! !

对于本地,你很容易从android工作室获得sha1,但对于live,请检查下面的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

这是你的Key哈希值。

如果你正在使用Android Studio IDE,那么你可以得到SHA1有价值的所有构建变体,只需点击一下。

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

File Navigation

下一个

Open Run Window .

转到变体:释放进行发布

选择Variant: 调试进行调试

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

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

在ANDROID STUDIO执行以下步骤:

  1. 点击ANDROID STUDIO IDE右侧的Gradle菜单
  2. 展开任务树
  3. 在signingReport上点击

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

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

  • 运行你的项目

  • 点击Gradle菜单

  • 展开Gradle任务树

  • 点击android-> signingReport

enter image description here 如果没有任何显示(android studio 2.2),则

点击运行栏中的Toggle tasks execution/text mode

我使用的是Ubuntu 12.0.4,我已经在命令提示符上以这种方式获得了发布密钥存储的证书指纹 在生成keystore文件后,您可以将此密钥用于已发布的应用程序,如果您在应用程序中使用谷歌映射,那么这可以在应用程序中正确显示释放后的映射,,我在

下面的命令提示符中得到结果

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

在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

//获取SHA1的最简单方法

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

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

尝试与您的用户&通过

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

Exe

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

如果您正在使用谷歌播放应用签名,而不是从密钥库中获取SHA,更简单的方法是到谷歌Play Console >您的应用程序> Release Management >应用程序签名并寻找您的上传证书。

你得到这个信息的页面截图

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

Sample

使用谷歌播放应用程序签名功能 &谷歌api集成在你的应用程序?

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

上传签名证书

  1. 您只能从谷歌Play控制台的App签名页面获得您的SHA-1版本,如下所示

如果您使用谷歌Play应用程序签名,谷歌将重新签名您的应用程序。这就是谷歌Play应用程序签名如何提供签名证书指纹的方式,如下所示:

App Signing page -谷歌Play Console

阅读更多如果使用“谷歌Play应用程序签名”,如何获得发布SHA-1(签名证书指纹)

对我来说,这是一个循序渐进的过程。

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

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

enter image description here

我在使用命令时遇到了一个问题

[keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test]
因此,我下载https://sourceforge.net/projects/portecle/。 然后从jar程序中打开。jks文件。它将显示所有相关信息

snapshot of the program .

enter image description here

# EYZ0

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

keytool -list -printcert -jarfile app.apk

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

  1. 打开你的项目到Android工作室。
  2. 点击右边的Gradle标签。
  3. 会看到两个东西,一个是我们的项目(根)和应用程序。
  4. 选择我们的项目,在你的情况下,它可能是你的应用程序。
  5. 右键单击项目并刷新它。
  6. 然后单击项目拖放按钮。
  7. 点击Tasks,你会看到android文件夹。
  8. 双击signingReport,将在Run console中看到详细信息。

首先在你的windows电脑中找到你的JDK的 箱子文件夹。请看下图。

我的答案是:

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

enter image description here

第二步:现在在windows 10搜索栏中输入“cmd”搜索命令提示符。然后打开命令提示符管理员模式。 见下图:

enter image description here

现在复制这个路径并将其输入到命令提示符中

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

enter image description here

在命令提示符:

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

enter image description here

按下输入按钮后,您将进入bin文件夹。

enter image description here

您的设置完成了。现在生成释放模式的SHA1密钥。

# EYZ0

keytool -list -v -keystore C:\Users\Turzo\Desktop\earninglearning.keystore -alias turzo -storepass 12345678 -keypass 12345678

enter image description here

如果你使用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

Sept 2020开始,如果你想要得到Releasekeystore证书的SHA-1指纹。只需打开你的Google Play Developer Console和打开App Signing标签。

enter image description here

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

你必须找到释放键的SHA1代码;在开发人员控制台输入它。(对我来说,开发人员控制台是firebase,有些人可能使用不同的服务)找到SHA1代码。简单的方法是

点击Build -选择Build Variant -在左边选择“release”构建变体——现在去模块设置(或尝试运行项目,android工作室会告诉你关于一个错误并单击修复错误按钮)——选择签名选项卡添加您释放键和密码,现在转到构建类型——选择释放签署配置选择释放键配置——现在运行您的项目现在运行您的签名报告——你可以找到SHA1下发布构建——输入SHA1代码开发人员控制台

enter image description here

enter image description here

enter image description here

That's it .

简单的方法-使用密钥存储资源管理器

按照步骤操作

  1. 下载密钥库资源管理器下载链接
  2. 安装密钥存储资源管理器
  3. 通过密钥库资源管理器打开密钥库
  4. 输入密码
  5. 单击您的密钥库名称
  6. 然后您将获得sha1密钥

对于Android Studio 4.2和更新的版本,按照以下步骤生成< >强沙关键< / >强。步骤在这些图片中给出。

<强>步骤:- < / >强

单击gradle。右上角的Android工作室。正如你在这张照片上看到的。

Step1

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

SHA2

现在输入< >强gradle signingreport < / >强,然后按输入开始生成沙的关键,如下图所示。

sha3

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

sha4

我有一个简单的答案。# EYZ0

进入设置,也可以按CTRL + Alt + s

选择实验,然后选择取消勾选,如果选项是被套,则选择在Gradle同步期间不构建Gradle任务,然后按确定

转到文件,然后选择用Gradle文件同步项目选项

点击面板右侧的Gradle,然后是任务,然后是安卓,然后双击signingReport

然后您将获得SH1指纹

enter image description here

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

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

使用android studio内嵌Java jre的位置,对于windows用户下面的截图可能有助于找到SHA1

enter image description here

一个更简单的方法是在项目根目录下运行./gradlew signingReport 其他方法在文章

. #中解释

这是macOS文图拉13.0在MacBook Pro M2 2022的解决方案

我需要SHA1密钥谷歌云。

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

# EYZ0

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

enter image description here

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

enter image description here

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

# EYZ0

enter image description here