Android中如何通过代码的方式获取APP的SHA1值.

来源:互联网 发布:餐饮进销存软件 编辑:程序博客网 时间:2024/06/05 10:16

1.直接调用这个方法即可,传入一个上下文.

public static String getSha1(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;  
}  


原创粉丝点击