美文网首页安全
android 系统签名应用获取SHA1值

android 系统签名应用获取SHA1值

作者: 梦的征程_45e4 | 来源:发表于2019-03-15 10:39 被阅读0次

    获取系统签名sha1值两种方法:
    方法一解压apk通过cmd(命令行获取):

    1、系统签名apk文件,解压(重命名为rar文件)

    2、取出META_INFO中CERT.RSA文件。

    3、cmd下执行keytool -printcert -file CERT.RSA路径。

    4、在cmd窗口输出内容中查看sha1的值

    方法二通过java代码获取:

    public static 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 (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            return null;
        }
    
    

    相关文章

      网友评论

        本文标题:android 系统签名应用获取SHA1值

        本文链接:https://www.haomeiwen.com/subject/utflmqtx.html