安卓-几种查看SHA1和MD5的方法

安卓-几种查看SHA1和MD5的方法

1、获取apk的sha1和md5

为了避免注册时弄错签名,建议直接用打包出来的apk查看签名,具体如下:
1) 将apk修改后缀为 .rar文件后解压;
2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA
3) 在该目录下打开cmd,输入命令 :keytool -printcert -file CERT.RSA

2、代码中获取

publicstatic String sHA1(Context context) {
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(
            context.getPackageName(), PackageManager.GET_SIGNATURES);
        byte[] cert = info.signatures[0].toByteArray();
        MessageDigest md = MessageDigest.getInstance("SHA1");
        byte[] publicKey = md.digest(cert);
        StringBuffer hexString = new StringBuffer();
        for (int i = 0; i < publicKey.length; i++) {
            String appendString = Integer.toHexString(0xFF & publicKey[i])
                .toUpperCase(Locale.US);
            if (appendString.length() == 1)
                hexString.append("0");
                hexString.append(appendString);
                hexString.append(":");
        }
        String result = hexString.toString();
        return result.substring(0, result.length()-1);
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return null;

3、使用签名文件获取

1)打开cmd命令,进入keytool.exe目录,一般在 D:\Program Files\Java\jdk1.8.0_181\bin中
2)输入命令:keytool -list -keystore “(jks的目录)app.keystore(jks)”
3)输入密钥库口令,是指输入之前生成keystore文件时设置的密码,输入后默认为不显示的,输入完成后直接回车就可以。

记录一下

你可能感兴趣的:(Android)