微信开放平台Android应用签名的本质及如何获取


在微信开放平台创建移动应用时上图大家都遇到过,这里的应用签名是什么呢?

这里介绍说可以通过签名生成工具在已安装当前应用的手机中获取,(待会获取测试一下)我们先搞明白它是什么,这里提到了该应用签名由开发者签名该应用的keystore文件决定。

接下来我们便来探究一下这个应用签名是什么

思路:

1.创建一个keystore文件

2.创建一个Android应用

3.使用keystore文件签名该应用得到签名apk

4.使用签名生成工具查看该应用的签名

我们下面开始一步步执行

1.生成keystore文件

在自己电脑jdk的安装目录bin文件夹内打开dos命令行(cmd命令打开cd到bin目录也可以),输入如下命令:

keytool -genkey -alias qj_test -keyalg RSA -validity 10000 -keystore qj_test.keystore
具体操作如下图:

这时我们发现在我们的bin文件夹内多了一个qj_test.keystore文件,它就是我们生成的keystore文件


接下来我们在命令行输入如下命令:

keytool -list -v -keystore qj_test.keystore
输入密钥库口令:123456之后得到详细的keystore输出信息如下:

这里大家明显看到我把MD5值给框起来了,跟它有关系吗?想知道答案继续往下看吧…

2.创建一个简单的android项目

项目的包名为:com.qj.keystoretest ,包名符合规范可以随便命名,因为后面会用到,故在此处标出(如何创建项目略)

3.使用keystore文件签名该应用得到签名apk

我们的android应用已经创建好了,现在如何使用我们的keystore文件签名我们的应用呢






app-release.apk便是我们使用自己生成的keystore文件签名生成的apk文件

先把该apk装到手机中,就剩最后一步啦!

4.使用签名生成工具查看该应用的签名

签名生成工具下载(微信开发平台)

签名生成工具下载(新浪微博开放平台)

任意下载一个(是一个apk文件)安装手机后运行:



很显然两个工具生成的签名是相同的,因为签名是由我们的keystore文件决定的,从新浪签名获取工具的名字其实也不难发现,签名应该和MD5有关

签名生成工具生成的签名:add1944573e750774d84c04148c720a0

keystore文件中的MD5值:AD:D1:94:45:73:E7:50:77:4D:84:C0:41:48:C7:20:A0

对比发现:MD5值去掉两两之间的 " : " ,并将大写改为小写之后,奇迹出现了! 你会发现它和签名生成工具生成的签名一模一样。

总结:微信开放平台Android应用签名的本质便是我们签名文件keystore的MD5值


相关知识点:

我们创建自己的keystore,利用keystore生成签名apk文中已经介绍了,如果想要在每次运行调试应用的时候也用该keystore文件生成apk,

请参考:Android studio 如何指定使用自己生成的keystore调试



发布了49 篇原创文章 · 获赞 91 · 访问量 51万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览