安卓签名MD5相关说明

 

什么是包名?

 

每个 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 > G enerate Signed APK 。 

 

  1. 从下拉菜单中选择一个模块,然后点击 Next 。 

 

  1. 点击 Create new 以创建一个新密钥和密钥库。 

 

  1. New Key Store 窗口上,为您的密钥库和密钥提供以下信息,如图 3 所示。 

 

   

 

密钥库 

 

    • Key store path :选择创建密钥库的位置。 

 

    • Passw ord :为您的密钥库创建并确认一个安全的密码。 

 

密钥 

 

    • Alias :为您的密钥输入一个标识名。 

 

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

填写完表单后,请点击 O K 。 

具体说明见官方文档:

https://developer.android.com/studio/publish/app-signing.html

 

什么是签名 MD5? 如何获取

 

每个签名文件都有一个数字指纹。相当于是公钥,同一个签名文件的指纹是一样的,不同的签名文件指纹不一样。可以通过检查这个指纹确定是不是使用的同一个签名文件。

 

命令行输入 keytool –list –v –keystore <签名文件路径>

 

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

 

 

 

接入第三方服务为什么需要签名 MD5?

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章