首页 > 程序开发 > 移动开发 > 其他 >

用代码提取SHA1的方法

2017-06-20

很多小伙伴都在项目当中用到了高德,其中一个问题就是SHA1怎么获取? 这里讲一个用代码提取SHA1的方法,下面贴上代码: * 获取高德地图的SHA1 * publicstaticString getSHA1(Contextcontext){

用代码提取SHA1的方法

很多小伙伴都在项目当中用到了高德,其中一个问题就是SHA1怎么获取?

这里讲一个用代码提取SHA1的方法,下面贴上代码:

/*
    获取高德地图的SHA1
    */
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 (Exception e) {
        e.printStackTrace();
    }
    return null;
}

直接将上面那段代码贴到代码里面去就行了,不过要记住一点,released版本和debug版本的SHA1是不一样的,要分开获取,这一点在高德的sdk技术文档中都有说明的,我也就不多说了。

相关文章
最新文章
热点推荐