获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
当前回答
从调试密钥库中,我们可以在Eclipse中获得SHA1值。从菜单访问: 窗口->首选项-> Android ->构建
但它不适用于生产密钥库。
因此,要从生产密钥库中获取SHA1值,请执行以下命令: Android Tools ->导出签名应用程序包。遵循apk签名的过程,SHA1将显示为证书。
其他回答
我使用的是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
跟随本教程为谷歌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版本中找到SH1。做这些简单的步骤。
步骤1进入“设置”界面,也可以按“CTRL + ALT + S”
Edit
步骤2最新的android工作室包括- android工作室电鳗| 2022.1.1
选择“实验”,然后取消选中“只在Gradle同步过程中生成的Gradle任务列表中包含测试任务”的选项,然后按“确定”
第2步为旧版本的android studio -
去实验,然后取消选项“不构建Gradle任务在Gradle同步期间,如果它被选中,然后按确定
继续
步骤3进入“文件”,选择“项目与Gradle文件同步”选项
步骤4单击面板右侧的Gradle,然后Tasks,然后android,然后双击signingReport
然后您将获得SH1指纹
通过cmd进入你的java bin目录:
C: 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
首先有一个与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());
}