获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
当前回答
在最近更新的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频道解决了这个问题。这里是关于这个问题的视频链接。
其他回答
跟随本教程为谷歌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的签名报告
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
简单的方法-使用密钥存储资源管理器
按照步骤操作
下载密钥库资源管理器下载链接 安装密钥存储资源管理器 通过密钥库资源管理器打开密钥库 输入密码 单击您的密钥库名称 然后您将获得sha1密钥
首先有一个与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());
}
如果你使用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