获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
当前回答
除了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密钥。
其他回答
简单的方法-使用密钥存储资源管理器
按照步骤操作
下载密钥库资源管理器下载链接 安装密钥存储资源管理器 通过密钥库资源管理器打开密钥库 输入密码 单击您的密钥库名称 然后您将获得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());
}
我看到了很多关于这个问题的帖子,所以我会保持简单+例子。
要获得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
密码:您的别名密码。
请参考以下图片获取SHA-1密钥
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