美文网首页
Android-高德地图获取发布版+调试版的SHA1、

Android-高德地图获取发布版+调试版的SHA1、

作者: 晴天ccc | 来源:发表于2023-01-29 15:06 被阅读0次

前言

应用中引入高德地图SDK,使用到部分功能,在打包测试过程中遇到鉴权失败,就是SHA1的问题。这边记录一下。

控制台应用设置

在高德地图开放平台-控制台-应用中

1、调试版安全码SHA1获取方式:

调用方式

    String SHA1Key = getGaoDeMapDeBugSHA1(mContext);
    CZLog.e("高德地图调试版安全码SHA1:" + SHA1Key);

获取方法

    // 获取高德地图调试版安全码SHA1
    public static String getGaoDeMapDeBugSHA1(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;
    }

在应用任何一个类中复制上述代码进去,通过Log日志即可得到相关SHA1信息。

发布版安全码SHA1获取方式:

我们在打包的时候会有签名文件,我这里是AppRelease.jks

打开终端cd到该文件目录下(在终端输入cd,然后将该文件AppRelease.jks拖动到终端,即可自动获取路径)

Last login: Mon Jan 30 14:42:47 on ttys001
mac@Macmini ~ % cd /Users/mac/Desktop/AppRelease.jks 

执行

keytool -list -v -keystore xxxx.jks               (注:xxxx.jks 是你自己的签名文件名称)

我这里执行的是:

keytool -list -v -keystore AppRelease.jks

然后会提示让你输入密码,这里的密匙库口令就是你的签名文件的密码,输入密码后回车就可以得到release版的SHA1安全码。

Last login: Mon Jan 30 14:42:47 on ttys001
mac@Macmini ~ % cd /Users/mac/Desktop/AppRelease.jks 
mac@Macmini Desktop % keytool -list -v -keystore AppRelease.jks
输入密钥库口令:  
密钥库类型: PKCS12
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: MOSS
创建日期: 2022年12月16日
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=MOSS, OU=MOSS, O=MOSS, L=北京, ST=北京, C=CN
发布者: CN=MOSS, OU=MOSS, O=MOSS, L=北京, ST=北京, C=CN
序列号: 1ee6b362
生效时间: Fri Dec 16 10:49:16 CST 2022, 失效时间: Tue Dec 10 10:49:16 CST 2047
证书指纹:
     SHA1: 91:2G:14:41:DC:5B:CF:64:42:CB:09:34:5B:DD:AC:E3:DB:9D:53:83
     SHA256: 28:6F:C7:57:7S:66:FH:9D:VC:FC:10:ED:74:0A:A7:DE:98:8C:B8:3C:D2:94:D0:D8:ED:81:82:AE:64:E0:90:78
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展: 

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 1C 34 0F AC 35 33 4E BE   AE 04 5A C7 05 00 D8 24  .4..53N...Z....$
0010: 49 C0 75 00  I.u.]


*******************************************
*******************************************

最后把得到的发布版SHA1设置在高德地图控制台的应用即可。

相关文章

  • 高德地图的调试版SHA1与发布版SHA1分别的获取

    title: 高德地图的调试版SHA1与发布版SHA1分别的获取categories: Androiddate: ...

  • Android获取发布版和调试版的SHA1

    一、前言 我们在高德地图官网,注册应用时,会要求输入发布版和调试版的SHA1,这个在 Android Stud...

  • 高德地图中发布版安全码SHA1完整版

    在高德地图创建应用的时候遇到这个安全码SHA1 话不多说,如下: 1.调试版安全码SHA1 调试版: @1:打开S...

  • Mac 获取SHA1值

    Android 进行百度地图或高德地图相关开发需要获取SHA1值,SHA1值根据调试和发布有不同的值。获取方式: ...

  • Android studio 自带查询SHA1

    之前对接高德地图 需要填写发布版与调试版的SHA1,高德这点做的比较好,给开发者预留一个开发的位置入座。 最开始一...

  • Android获取SHA1值

    在我们集成第三方sdk的时候,比如地图sdk,高德,百度等,经常需要获取SHA1值,一般需要获取发布版和测试版的:...

  • 地图Sha1码获取

    项目中需要地图相关功能,去地图开发者平台(我这里用的是高德)创建应用,关于Sha1的获取 1,测试版的SHA1码 ...

  • Android获取应用SHA1的APP

    Android开发的小伙伴们肯定会用到百度地图或者高德地图的API,都需要输入开发版的SHA1和发布版的SHA...

  • 栗子——获取SHA1(发布版&调试版)

    前言 在做app地图开发时经常需要到第三方平台申请key申请时需要发布版的SHA1 和 调试版的SHA1那么这两个...

  • Android 集成百度地图获取SHA1

    在集成百度地图的时候根据文档说明 需要我们填入发布版的SHA1和开发版的SHA1 如下图 那么我们该如何获取这两个...

网友评论

      本文标题:Android-高德地图获取发布版+调试版的SHA1、

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