获取SHA-1指纹的方法和获取指纹的方法一样吗?以前,我正在运行此命令:
我不清楚我得到的结果是否是 SHA-1 指纹。有人可以澄清一下吗?
获取SHA-1指纹的方法和获取指纹的方法一样吗?以前,我正在运行此命令:
我不清楚我得到的结果是否是 SHA-1 指纹。有人可以澄清一下吗?
按照本教程为 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 的签名报告
在 android studio 中获取 SHA1 密钥的最简单方法(调试和发布模式)
Android Studio
signingReport
(您将在运行栏中获得SHA1
和)MD5
如果您使用的是新的 Android Studio,它会在顶部显示执行时间,点击切换任务执行模式,您将获得 SHA-1 密钥。检查第二和第三参考图像。
为发布模式生成 SHA-1
1-首先在您的 gradle 中添加密钥库配置如何在 gradle 中添加配置。
3-然后按照上述程序,您将获得用于发布模式的 SHA-1。
通过 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
运行以下命令获取您的 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
我看到很多关于这个问题的帖子,所以我会保持简单+示例。
要获取 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
密码:您的别名密码。
在您的应用中使用Google Play 应用签名功能和 Google API 集成?
如果您使用 Google Play 应用签名,Google 会重新签署您的应用。这就是 Google Play App Signing 给出您的签名证书指纹的方式,如下所示:
从 Debug Keystore 我们可以得到SHA1值Eclipse
。从菜单访问:
Window
-> Preferences
-> Android
->Build
但它不适用于制作Keystore
。
因此,要从生产密钥库中获取SHA1值,请转到:
Android Tools
-> Export Signed Application Package
。按照流程签署您的 apk,SHA1 将显示为证书。
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
在 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
祝你好运!!
首先有相同的.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());
}
所有步骤的最佳方式:
对于发布密钥库 SHA1 密钥:
C:\Users\hiren.patel>cd..
C:\Users>cd..
C:\>cd "Program Files"
C:\Program Files>cd Java
C:\Program Files\Java>cd jdk_version_code
C:\Program Files\Java\jdk_version_code>cd bin
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
替换下面的东西:
jdk_version_code
D:\Hiren Data\My Root Folder\My Project Folder\keystore_title.jks
my_alias_name
my_store_password
my_key_password
完毕
第 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
如果您使用的是 Android Studio IDE,那么您可以一键获得 SHA1 对您的所有构建变体具有价值。
在 Gradle Projects 窗口下 >选择 Root Project > signingReport >双击
下一个
转到变体:发布以发布
转到变体:调试调试
//获取SHA1的最简单方法
//将以下命令添加到您的终端并按Enter
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
您可以通过Eclipse获取任何工作区的MD5和SHA1指纹。 Window>Preference>Android>Build
在 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
对于发布版本,在 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 3.5 版本:
我在使用命令打开时遇到问题
[keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test]
因此,我下载https://sourceforge.net/projects/portecle/。然后从 jar 程序中打开 .jks 文件。它将向您显示所有相关信息
我正在使用 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
如果您使用的是Google Play App Signing,而不是从密钥库获取 SHA,更简单的方法是转到 Google Play Console > Your app > Release Management > App signing 并查找您的上传证书。
如果您没有密钥库和别名,则可以使用此命令:
keytool -list -printcert -jarfile app.apk
如果您使用的是 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
在最近更新的 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 频道解决了这个问题。这是有关此问题的视频链接。
在新更新中,只需转到Android
文件夹并输入./gradlew signingReport
首先去jar文件复制keytool路径然后添加到系统路径然后运行..我希望这个工作..
对于本地用户,您可以轻松地从 android studio 获取 sha1,但对于现场用户,请查看以下网址:
我们大多没有完成以下步骤,因此请检查 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 文件这是您的密钥哈希。
与您的用户一起尝试并通过
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
[![更改构建变体,然后您可以看到运行将导致错误的应用程序
您必须找到发布密钥的 SHA1 代码并在您的开发者控制台上输入它。(对我来说,开发者控制台是 firebase,有些人可能会使用不同的服务)查找 SHA1 代码。简单的方法是
Go to Build --- Select Build Variant - 在左侧选择“Release”作为构建变体 - 现在进入模块设置(或尝试运行项目,android studio会告诉你一个错误并点击修复错误按钮) --- 选择签名选项卡 --- 添加您的发布密钥和密码 -- 现在转到构建类型 -- 选择发布 -- 在签名配置上选择您的发布密钥配置 -- 现在运行您的项目 -- 现在运行您的签名报告 -- - 你可以在发布版本下找到 SHA1——在你的开发者控制台上输入那个 sha1 代码
在 ANDROID STUDIO 执行以下步骤:
您将能够在 IDE 底部看到签名