频道栏目
首页 > 资讯 > 其他 > 正文

用代码提取SHA1的方法

17-06-20        来源:[db:作者]  
收藏   我要投稿

用代码提取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技术文档中都有说明的,我也就不多说了。

相关TAG标签
上一篇:Android JNI HelloWorld
下一篇:获取应用程序的签名,防止二次打包
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站