如何通过命令行获取有效的签名哈希?

问题描述

我想要密钥哈希。我能够通过代码获得有效的密钥哈希。我尝试通过命令行,但得到了错误的 SHA 密钥哈希。

代码(有效签名哈希):

try {
        PackageInfo info = getPackageManager().getPackageInfo("com.xyz.abc",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);
        }
    } catch (PackageManager.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());
    }

调试证书的签名哈希(错误接收):

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

正确的结果由java代码给出。 从命令行获得的错误签名哈希。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)