Android 获取android**哈希码(keytool -exportcert -alias openssl sha1 -binary | openssl base64)
由于业务需求需要集成国外的SDK,而国外的sdk需要Android端提供一个签名哈希值
起初我以为是跟集成国内的高德地址一样提供个SHA1的值即可,之前我也写过一篇博客:Android获取SHA1值的详细步骤。
一顿操作后发现无法通过。详细一看原来国外的sdk要求是经过openssl加密并且通过base64编码后的值。并给出了执行命令
keytool -exportcert -alias androiddebugkey -keystore~ / .android / debug.keystore | openssl sha1 -binary | openssl base64
其中:
-alias后面跟的是秘钥的别名
-keystore后面跟的就是秘钥的文件地址
至于如果生成签名文件就不多说了,在 Android获取SHA1值的详细步骤 这篇博客里有详细介绍
但是,当你改好后执行命令后会提示你openssl是未识别的命令,原因是windows下没有自带OpenSSL。需要先安装才能使用。
windows安装openssl
打开下面这个网址,http://slproweb.com/products/Win32OpenSSL.html
根据你的操作系统选择合适的版本下载,比如我是win10 64位的操作系统,我就下载下面红框勾选的即可
下载完成后,正常安装即可,安装路径不用改,如果你修改了,记住安装路径即可。
正常安装成功后的路径: C:\Program Files\OpenSSL-Win64
安装成功后配置下环境变量:
1、新建环境变量:
变量名:OPENSSL_CONF
变量值:C:\Program Files\OpenSSL-Win64\bin\openssl.cfg
2、修改添加PATH环境变量:
C:\Program Files\OpenSSL-Win64\bin
环境变量配好之后,我们来验证下是否可以使用:
打开命令行工具,输入 openssl dhparam -out ceshi.pem 2048
测试
出现上图所示表示openssl就可以正常使用了。
然后我们再去执行命令即可得出秘钥的哈希值了
keytool -exportcert -alias 你的别名 -keystore 你的签名文件 | openssl sha1 -binary | openssl base64
如下图所示:
红框就是我们需要提供的秘钥哈希码了
如果你觉得本文对你有帮助,麻烦动动手指顶一下,算是对本文的一个认可,如果文中有什么错误的地方,还望指正,转载请注明转自喻志强的博客 ,谢谢!