基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)

1、打开Android页面,点击上方的【Build】,下拉选择
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)

2、选择APK,点击【next】基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
3、弹出如下的弹窗:
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
4、点击Create New 按钮,出现下面的对话框
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
其中Alias为别名,对于下面“Certificate”的那几行,我们至少需要填一个,上面的都要填写清楚,重要的是要记清楚第二行输入的密码,之后需要用到。之后一路点击“OK”即可。

5、接下来点击Android界面的左上角【file】,下拉菜单,选择【Project Stucture】
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
6、按照提示,添加信息,里面的信息多是刚刚填写的信息,其中Store file是刚刚生成的jks后缀文件,找到即可,然后点击【ok】
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
7、刷新后,在【bulid.gradle】里查看到签名信息
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
8、接下来查看md5签名
方法一:
在Android Studio下,我们可以在命令行中通过输入命令来查询我们的应用签名信息,在Android的底部点开【Terminal】,然后输入命令,

keytool -list -v -keystore "E:\myfriendsshare.jks"

基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
其中"E:\myfriendsshare.jks"为我们刚才保存的签名相关文件的位置,在这里你直接替换成自己的文件位置即可。之后它会让你输入密码(注意,密码不会显示出来,输入之后点击回车就好)。
查询结果如下
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
方法二:因为有时候,方法一我没办法查询,所以方法二使用代码查看md5比较方便。

(1)新建SignTool
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)

直接上代码:



import android.content.Context;
import android.content.pm.Signature;
import android.util.Log;

import java.security.MessageDigest;

/**
 * 作者:libeibei
 * 创建日期:20190717
 * 类说明:打印某个应用的签名MD5
 **/
public class SignTool {
    private static final String TAG = "SignTool";

    //调用示例
    //SignTool.printSignatureMD5(CHAuthService.this,"com.sccngitv.dvb");


    public static void printSignatureMD5(Context mContext, String packageName) {
        try {
            Log.e(TAG, "packageName = " + packageName + " Sign MD5 =" + getMD5MessageDigest(mContext, packageName));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static String getMD5MessageDigest(Context mContext, String str) {
        try {
            int i = 0;
            Signature signature = mContext.getPackageManager().getPackageInfo(str, 64).signatures[0];
            MessageDigest instance = MessageDigest.getInstance("md5");
            instance.update(signature.toByteArray());
            byte[] digest = instance.digest();
            StringBuilder stringBuilder = new StringBuilder();
            int length = digest.length;
            while (i < length) {
                String toHexString = Integer.toHexString(digest[i] & 255);
                if (toHexString.length() == 1) {
                    StringBuilder stringBuilder2 = new StringBuilder();
                    stringBuilder2.append("0");
                    stringBuilder2.append(toHexString);
                    toHexString = stringBuilder2.toString();
                }
                stringBuilder.append(toHexString);
                i++;
            }
            return stringBuilder.toString();
        } catch (Exception e) {
            e.printStackTrace();
            return "null";
        }
    }
}

(2)在MainActivity中添加调用

SignTool.printSignatureMD5(MainActivity.this,"com.example.myapplication");

基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)
注意:后面是自己包的名,不要忘记换成自己的

然后运行即可
基于mob平台的手机短信验证码实现登录功能3(Android生成md5签名部分)

上一篇:编译tensorflow-serving错误no such package '@icu//'


下一篇:Bazel和Protobuf开发遇到的亿些坑