获取Android签名文件的MD5和SHA1指纹

以前在App中集成百度地图时,需要在百度地图的开发者网站上绑定应用的包名和签名,以预防自己的key被别人乱用。

最近公司的一个球机产品也搞了类似的做法,我们要访问它的摄像头功能需要使用厂家提供的aar库,但是你要想正常调用它的Api,需要先提供应用的包名和签名文件的MD5和SHA1指纹,这比百度地图还多了一个,百度地图只需要SHA1,而他们竟然还要MD5一起,这两个有一个不就可以了吗,搞不懂。这也告诉我们在App中可以通过代码再次获取到app签名文件的指纹,这样厂家的aar库才能进行比较验证,有时间也可以查一下怎么实现的,这样以后如果自己公司有这样的需求也可以这样做了。

按照百度地图的命令是查看不到MD5指纹的,这个命令是只要安装了JDK环境就可以使用,百度地图提供的查看命令如下:

keytool -list -v -keystore platform.jks

这个jks文件可以根据你的签名文件修改,运行结果如下:
在这里插入图片描述
经过百度,发现有更简单的方式,使用Android Studio即可,首先需要在应用的gradle配置文件中配置好打包的配置,示例如下:
在这里插入图片描述
如上图,我们有两个变体,一个是debug版本,一个是release版本,两个变体都用了相同的签名文件,正常情况下debug版本要用debug的签名,release版本要用release的签名,应该分开的,但是因为我的应用需要使用系统签名,所以就算是debug版本也需要系统签名,不能使用Android Studio自带的那个默认的debug签名,否则应用中需要系统签名的Api就调用不了,一调用就会崩掉,所以可以配置成都用同一个签名配置即可。看着好像只有两个变体,其实有3个的,我也是运行了查看签名指纹的命令才发现的,在gradle的运行界面中输入如入命令,然后回车:

gradle signingReport

在这里插入图片描述

运行结果如下:
在这里插入图片描述
如上图,可以看到有三个变体:debug、release、debugAndroidTest,它们的指纹都是一样的,因为我们配置的时候配置成了同一个,其中debugAndroidTest变体无需配置,它是Android Studio自动生成的。

另外,在结果中可以看到,签名的有效期到2035年,离现在也就12年左右,好像有点短啊。这个有效期究竟可以设置多长,挺好奇的,于是用Android Studio生成一个签名,发现最长可以设置为1000年,截图如下:
在这里插入图片描述
再向上按发现就上不去了,或者直接输入更大的值也不行,只要光标定位到另外的输入框,有效期就会变成最近一次的有效输入(小于1000的值)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux上常用网络相关命令

1. ifconfig: - 显示所有网络接口的配置信息:ifconfig - 显示特定网络接口(例如eth0)的配置信息:ifconfig eth0 2. ip: - 显示网络接口的配置信息:ip addr show - 显示路由表&…

主流架构(gcc、msvc、x86、x64、arm)中double与float浮点数精度处理

​​​​​​float 是单精度浮点数,内存占4个字节,有效数字8位,表示范围是 -3.40E38~3.40E38。 double 是双精度浮点数,内存占8个字节,有效数字16位,表示范是-1.79E308~-1.79E308。 C和C标准没有指定EDCOX…

如何批量给视频添加logo水印?

如果你想为自己的视频添加图片水印,以增强视频的辨识度和个性化,那么你可以使用固乔剪辑助手软件来实现这一需求。下面就是详细的操作步骤: 1.下载并打开固乔剪辑助手软件,这是一款简单易用的视频剪辑软件,功能丰富&am…

C语言解决八皇后问题

八皇后问题是指在一个88的棋盘上&#xff0c;放置8个皇后&#xff0c;使得任意两个皇后都不能在同一行、同一列或同一斜线上。这是一个著名的递归问题。下面是一个C语言实现八皇后问题的代码&#xff0c;以及对代码的讲解。 #include <stdio.h>int board[8][8] {0}; //…

windows本地搭建mmlspark分布式机器平台流程

文章目录 windows本地搭建mmlspark分布式机器平台流程安装环境pyspark环境spark环境java环境hadoop环境1.修改hadoop配置文件下的jdk地址为自己的实际地址2.修改bin文件离线环境jar包环境1mmlsprk第三方包jar包环境2参考代码我有话说其他问题记录概要参考文献windows本地搭建mm…

一起学数据结构(12)——归并排序的实现

1. 归并排序原理&#xff1a; 归并排序的大概原理如下图所示&#xff1a; 从图中可以看出&#xff0c;归并排序的整体思路就是把已给数组不断分成左右两个区间&#xff0c;当这个区间中的数据数量到达一定数值时&#xff0c;便返回去进行排序&#xff0c;整体的结构类似二叉树…

在 Mac M1 上运行 Llama 2 并进行训练

在 Mac M1 上运行 Llama 2 并进行训练 Llama 2 是由领先的人工智能研究公司 Meta &#xff08;前Facebook&#xff09;开发并发布的下一代大型语言模型 (LLM)。 它基于 2 万亿个公共数据 token 进行了预训练&#xff0c;旨在帮助开发人员和企业组织构建基于人工智能的生成工具和…

云音乐Android Cronet接入实践

背景 网易云音乐产品线终端类型广泛&#xff0c;除了移动端&#xff08;IOS/安卓&#xff09;之外&#xff0c;还有PC、MAC、Iot多终端等等。移动端由于上线时间早&#xff0c;用户基数大&#xff0c;沉淀了一些端侧相对比较稳定的网络策略和网络基础能力。然而由于各端在基础…

10月24日,每日信息差

今天是2023年10月24日&#xff0c;以下是为您准备的14条信息差 第一、滴滴青桔电单车上新数币付款功能。截至目前&#xff0c;滴滴青桔单车、电单车及网约车三个场景均可使用数字人民币支付。用户在滴滴出行App的相关订单支付环节&#xff0c;可选择“数字人民币”进行支付 第…

SpringBoot 全局请求拦截

方法一 在Spring Boot中&#xff0c;可以使用拦截器&#xff08;Interceptor&#xff09;来实现全局请求拦截。示例&#xff1a; 首先&#xff0c;创建一个拦截器类&#xff0c;实现HandlerInterceptor接口&#xff1a; import javax.servlet.http.HttpServletRequest; impo…

如何理解Go言中的Context?

目前看过除了《go语言程序设计》以外最好的教程&#xff1a;https://www.practical-go-lessons.com 原文&#xff1a;https://www.practical-go-lessons.com/chap-37-context 你将在本章中学到什么&#xff1f; 1.什么是上下文&#xff1f; 2.什么是链表&#xff1f; 3.如何…

Leetcode之多线程编程题

1116. 打印零与奇偶数 现有函数 printNumber 可以用一个整数参数调用&#xff0c;并输出该整数到控制台。 例如&#xff0c;调用 printNumber(7) 将会输出 7 到控制台。 给你类 ZeroEvenOdd 的一个实例&#xff0c;该类中有三个函数&#xff1a;zero、even 和 odd 。ZeroEve…

物联网知识复习

物联网的内涵和体系结构 物联网的基本内涵 物联网的基本内涵在于物联&#xff0c;物物相连或者物和人相连的互联网。 也就是说&#xff0c;它是要由物主动发起的&#xff0c;物物互联的互联网。 它的第一层意思是说物和物相连&#xff1b;第二层意思是说物和人相连。 物联网的…

美摄人像背景抠图SDK

企业对于图像处理的需求越来越高。无论是社交媒体营销、产品展示还是企业内部培训&#xff0c;高质量的图像都是吸引用户和提升品牌形象的关键。然而&#xff0c;传统的图像处理工具往往需要大量的手动操作和专业技巧&#xff0c;耗时耗力。为了满足企业对于高效、精准的图像处…

古诗数据,json版本

古诗数据 项目地址 分享一个古诗数据&#xff0c;包含作者、朝代、古诗名称及古诗内容。 分为两个版本&#xff0c;第一个是纯净的故事内容&#xff0c;数据如下&#xff1a; [{"title":"下终南山过斛斯山人宿置酒","auth":"李白"…

✔ ★【备战实习(面经+项目+算法)】 10.22学习时间表(总计学习时间:4.5h)(算法刷题:7道)

✔ ★【备战实习&#xff08;面经项目算法&#xff09;】 坚持完成每天必做如何找到好工作1. 科学的学习方法&#xff08;专注&#xff01;效率&#xff01;记忆&#xff01;心流&#xff01;&#xff09;2. 每天认真完成必做项&#xff0c;踏实学习技术 认真完成每天必做&…

医院数字档案系统-医院数字档案室建设方案

医院数字档案系统是一种将医院病历、检查报告、检验结果等医学相关数据以数字化形式储存、管理和检索的信息系统。它是利用计算机技术和网络技术对病历、影像、检验、处方等各类医疗信息进行数字化管理&#xff0c;实现电子病历、电子影像、电子处方等数据化服务。 医院数字档案…

Zabbix“专家坐诊”第208期问答汇总

问题一 Q&#xff1a;请问大佬们&#xff0c;我的测试机部署了2个版本的zabbix服务端&#xff0c;在启动第二个的时候报这个错&#xff0c;请问这个路径能在配置文件修改吗&#xff1f; SYJKLiLB64dded94d3c0c.png A&#xff1a;报错是你的进程存在&#xff0c;无法启动。一个…

无缝的链间互操作性:通用消息传递的强大之处

前言 通用消息传递&#xff08;General Message Passing&#xff0c;GMP&#xff09;是一种支持区块链之间通信和数据传输的机制。GMP正在成为增强不同区块链网络之间互操作性的解决方案。GMP允许应用程序构建者通过使用安全消息在区块链之间通信和交换信息来利用任何区块链的…

openEuler 22.03 LTS 安装 Docker CE 和 Dcoker Compose

openEuler 使用 DNF 安装 Docker CE 1024&#xff0c;节日快乐&#xff01;回归正题&#xff0c;DNF 安装 DockerOS 系统环境准备安装 docker-ce 步骤1、更新系统2、安装必要的软件包3、添加 Docker CE 存储库4、更新索引缓存并安装 Docker CE5、启动 Docker 服务6、查看 Docke…