Zhe*_* Li 30 android facebook codesign
有没有办法从签名APK获取密钥哈希?我们有一个签名的Android apk文件,我们想找到这个APK的密钥哈希,用于Facebook SDK.我们可以通过像jarsigner这样的东西来做吗?
有什么建议?
ama*_*Bit 39
对于从openssl获取密钥的Windows用户,有时可能会很棘手..我总是使用它来找到正确的签名..只需将此代码粘贴到onCreate()并运行即可.
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Run Code Online (Sandbox Code Playgroud)
更新:
使用Android studio(2.1.2):
这将运行一个gradle任务,该任务将使用md5和sha1键打印调试和发布证书
use*_*297 38
在linux上,我使用此命令从apk获取密钥哈希:
keytool -list -printcert -jarfile [path_to_your_apk] | grep -Po "(?<=SHA1:) .*" | xxd -r -p | openssl base64
Run Code Online (Sandbox Code Playgroud)
对于Mac用户(OS X),因为没有grep -P支持
keytool -list -printcert -jarfile ~/Downloads/YOURAPKFILE.apk | grep "SHA1: " | cut -d " " -f 3 | xxd -r -p | openssl base64
你可以从这里下载openssa
运行以下命令以生成keyhash.生成hashkey时应该问你密码.
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Anhsirk.android\debug.keystore" | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)注意:在上面的代码中,请注意您需要提供用户的路径(例如,在我的情况下,它是C:\ Users\Anhsirk,您只需要为您的用户帐户更改此信息.
给密码作为android.如果没有要求输入密码,则密钥库路径不正确.
| 归档时间: |
|
| 查看次数: |
33232 次 |
| 最近记录: |