美文网首页
Google Play Facebook 分享 获取签名的秘钥散

Google Play Facebook 分享 获取签名的秘钥散

作者: 在云端的日子 | 来源:发表于2020-02-17 13:04 被阅读0次

    两种方式:一个通过电脑jdk、openssl获取,一个通过安卓代码获取。


    方式一:

    转自:http://www.manongjc.com/detail/14-nhmzueqxzzcsumt.html

    1.先下载安装OpenSSL工具

    2.将你的 .keystore文件复制到JAVA JDK 文件夹的bin目录里面(C:\Program Files (x86)\Java\jdk1.8.0_144\bin)
    win+R打开命令控制器,cd到JANA JDK的bin文件夹下
    执行这个命令

    keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\openssl\bin\debug.txt
    

    其中androiddebugkey是你 .keystore文件的别名,debug是你 .keystore文件的名字。c:\openssl\bin是openssl安装路径。所以命令要这么写(网上好多说debug.keystore找不到的...):

    keytool -exportcert -alias 秘钥别名 -keystore 秘钥名字.keystore > c:\openssl\bin\秘钥名字.txt
    

    \color{#ff7d00}{注:在生成的文件里都要看一看否生成成功。(没有报错就是成功)}
    下方是出现在debug.txt文件里的错误解决方式:
    keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect一般情况下是你密码错啦。
    keytool 错误: java.lang.Exception: 别名 <androiddebugkey> 不存在这种是你别名错啦。

    3.然后路径cd到openssl文件夹下的bin目录
    执行

    opensslsha1 -binarydebug.txt >debug_sha.txt
    

    会生成debug_sha.txt文件
    再执行:

    openssl base64 -in debug_sha.txt >debug_base64.txt
    

    生成的debug_base64.txt里就是你需要的28位的秘钥散列。

    密匙散列 cmd 操作.png
    密匙散列结果.png

    方式二:

    转载自:https://www.jianshu.com/p/cfe54d50e7f2

    把下面代码写在要打的包里,运行之后,在log里可以看到key是多少。
    或者打个测试包,一定要用正式包的签名打测试包(包名一不一样无所谓),运行,看log有结果。

    void getFaceBookKey() {
        try {
            int i = 0;
            PackageInfo info = getPackageManager().getPackageInfo( getPackageName(),  PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                i++;
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String KeyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
                //KeyHash 就是你要的,不用改任何代码  复制粘贴 ;
                Log.e("tyl","KeyHash="+KeyHash);
            }
        }
        catch (PackageManager.NameNotFoundException e) {
    
        }
        catch (NoSuchAlgorithmException e) {
    
        }
    }
    

    复制之后需要自动引用代码才会消除错误,Androidstudio里alt+enter就自动引用了。

    完结。

    相关文章

      网友评论

          本文标题:Google Play Facebook 分享 获取签名的秘钥散

          本文链接:https://www.haomeiwen.com/subject/ytsbfhtx.html