获取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密钥。
其他回答
对于本地,你很容易从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哈希值。
通过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
从调试密钥库中,我们可以在Eclipse中获得SHA1值。从菜单访问: 窗口->首选项-> Android ->构建
但它不适用于生产密钥库。
因此,要从生产密钥库中获取SHA1值,请执行以下命令: Android Tools ->导出签名应用程序包。遵循apk签名的过程,SHA1将显示为证书。
//获取SHA1的最简单方法
//添加以下命令到您的终端并按enter
keytool -list -v -keystore ~/.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());
}