首页 > PHP资讯 > PHP培训技术 > PHP程序下如何取得APK签名以及验证是否一致

PHP程序下如何取得APK签名以及验证是否一致

PHP培训技术
近期的需要取到APK的签名,以此来比对开发者上传的APK软件是否与原创APK的签名一致,以此保护正版APK软件的权益。同时避免像破解,汉化之类的 软件,覆盖在线的正版。所以这个功能需求还是很有必要实现的。

本人对JAVA不太懂,开始想是不是能通过PHP技术来解决这个问题。但是通过查找各方面的 资料,没有找到好的办法。

最后转而去先了解了一下JAVA对包签名原理,再通过JAVA方面去找答案,最终是解决了这个问题。可是这样解决的方法,并不是 我期待的。我很希望会有更加简洁的方法实现,如果有更好解决的方案的朋友,可以留言给我。希望多交流。

下面就讲一下取比对APK签名一致的步骤,总的步骤先归纳如下几点,然后我分别做解释:
1.在服务器上安装JDK,使用keytool命令生效。
2.分别到取到二个APK包的证书指纹。
3.通过指纹信息,对比是否相等,判断是否为同一软件。

现在按上面给出的思路,来执行操作就可以。我们接着往下走:

第一步:在CentOS服务器下安装JDK,让keytool命令生效可以使用。

a.下载适合贵公司服务器的JDK版本。
下载址址:

b.安装并配置JDK.

[root@web-1 home]# ./jdk-6u29-linux-x64.bin [root@web-1 home]# mv jdk1.6*  /usr/local/java[root@web-1 home]# cat >> /etc/profile  << EFF########################################JAVA_HOME=/usr/local/javaJRE_HOME=$JAVA_HOME/jreCLASSPATH=:$JAVA_HOME/lib:$JRE_HOME/libPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
 


或者是:
unzip -p mumayidianzishichang_Mumayi_Market_V1.4_mumayi_91db5.apk META-INF/CERT.RSA | keytool -printcert | grep SHA1
输出如下:
[root@web-1 1]# unzip -p mumayidianzishichang_Mumayi_Market_V1.4_mumayi_91db5.apk META-INF/CERT.RSA | keytool -printcert | grep MD5
         MD5:  19:2A:5C:11:3E:72:A0:A1:A1:10:A3:BE:C3:9C:D5:32
[root@web-1 1]# unzip -p mumayidianzishichang_Mumayi_Market_V1.4_mumayi_91db5.apk META-INF/CERT.RSA | keytool -printcert | grep SHA1
         SHA1: 91:83:AF:08:B5:00:88:85:E6:4C:E9:41:4E:3B:06:EC:51:E8:F8:83
         Signature algorithm name: SHA1withRSA


PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持25不支持0