关于安卓包名、MD5值的一些讲解
你的诗是什么 发布于2017-10-15 20:09 浏览:7530 回复:26
7
收藏

在使用人脸安卓端SDK的时候,往往有不少同学纠结于包名和MD5的事情,因为客户端SDK需要配合license授权文件使用,所以安卓端的包名和md5即为license生成的主要依据,下面分别仔细讲解一下,希望对大家有些帮助(微笑脸)

 

什么是包名?

每个 Android 应用均有一个唯一的应用 ID。安卓以 Java 包的形式管理应用。 具体说明见官方文档:https://developer.android.com/studio/build/application-id.html

 

什么是签名文件?

安卓apk需要开发者进行签名。开发调试过程中,IDE(android studio,Eclipse) 会使用默认的debug 签名文件进行签名。但发布apk时必须使用,自己生成的签名文件进行签名。签名文件确保了开发者对 该应用的所有权,因为不同签名文件签名的apk不能覆盖原有的。该文件扩展名为jks

 

如何生成新的签名文件?

您可以使用Android Studio生成应用签名或上传密钥,步骤如下:

  1. 在菜单栏中,点击Build->GenerateSignedAPK
  2. 从下拉菜单中选择一个模块,然后点击Next
  3. 点击Create new以创建一个新密钥和密钥库
  4. New Key Store窗口上,为您的密钥库和密钥提供以下信息,如下图所示:

     

密钥库

  • Key store path:选择创建密钥库的位置。
  • Password:为您的密钥库创建并确认一个安全的密码。

密钥

  • Alias:为您的密钥输入一个标识名;
  • Password:为您的密钥创建并确认一个安全的密码。此密码应当与您为密钥库选择的密码不同;
  • Validity (years):以年为单位设置密钥的有效时长。密钥的有效期应至少为 25 年,以便您可以在应用的整个生命期内使用相同的密钥签署应用更新;
  • Certificate:为证书输入一些关于您自己的信息。此信息不会显示在应用中,但会作为APK的一部分包含在您的证书中;

填写完表单后,请点击 OK。

具体说明见官方文档:https://developer.android.com/studio/publish/app-signing.html

 

什么是签名 MD5? 如何获取

每个签名文件都有一个数字指纹。相当于是公钥,同一个签名文件的指纹是一样的,不同的签名文件指纹不一样。可以通过检查这个指纹确定是不是使用的同一个签名文件。百度人脸鉴权服务使用的是 MD5方式的指纹。

命令行输入:

keytool –list –v –keystore <签名文件路径>

然后输入密码,会打印出该签名文件相关的信息。其中的一项是证书指纹 MD5,如下图所示:

 

为什么需要签名 MD5?

安卓的应用是以包名做为唯一ID的。百度的人脸服务也是以包名做为单位进行 授权的。因为包名是开发者填写的,所以别的开发者也可以写个应用来冒充其他人的应用。百度人脸服务会涉及到用户的信息,使用过程中也有费用产生。所以为了保护APP不会他人冒充,我们对应用的签名进行校验。刚才也提到了,因为MD5算法的不可逆性,可以当做公钥使用。用户在申请时在后台填写签名的MD5值,发布/测试时,使用该签名文件。人脸服务在运行时会对当前应用的签名MD5 进行校验,如果信息不一致会拒绝服务。

 

收藏
点赞
7
个赞
共26条回复 最后由爱波斯坦回复于2019-06-25 12:05
#27爱波斯坦回复于2019-06-25 12:05:42

请问设备指纹和应用的MD5什么关系

0
#25hefeitest回复于2018-07-09 11:34:20

很详细很有帮助

0
#23用户已被禁言回复于2018-01-19 10:20:46

果然跟评论区里面的社友有一样的感觉,真的很详细!

0
#21那你去哪啦回复于2018-01-19 10:11:23

楼主,你的教程真的太详细啦! 太好了!

0
#19静心之王回复于2017-12-28 21:37:10

MD5是个好东西~~

0
#18你的诗是什么回复于2017-12-17 13:51:01
#17 恒星い恒心回复
后台填写了小写的MD5怎么改大写

新建一个授权即可

0
#17恒星い恒心回复于2017-12-14 11:34:39

后台填写了小写的MD5怎么改大写

0
#13笔墨哥回复于2017-10-31 22:11:28
#12 你的诗是什么回复
需要去掉冒号

嗯,好哒,了解了呢,感谢解答

0
#12你的诗是什么回复于2017-10-31 21:20:18
#11 joedan010488回复
我按照此方法操作,为什么MD5仍然显示“格式不符合要求”。 [图片]

需要去掉冒号

0
#11joedan010488回复于2017-10-30 10:46:52

我按照此方法操作,为什么MD5仍然显示“格式不符合要求”。

0
#8用户已被禁言回复于2017-10-20 10:49:39

对我帮助很大

0
#6笔墨哥回复于2017-10-18 16:52:16

好专业的讲解,了解了呢,感谢分享~

0
#5756665228回复于2017-10-18 16:06:10

好帖

1
#4AI最前线回复于2017-10-17 19:10:46
#3 苗喆嘉回复
谢谢楼主分享

谢谢您的关注

0
#3苗喆嘉回复于2017-10-17 11:47:55

谢谢楼主分享

1
#2AI最前线回复于2017-10-16 02:16:41

值得推荐

0
TOP
切换版块