APP备案,最新获取安卓签名文件中MD5等信息方法

news2025/1/24 4:51:43

1.通过签名文件获取SHA1和SHA256

直接通过cmd执行命令

keytool -list -v -keystore xxxxx/xxx/xx/xxx.keystore

输入后回车会提示输入密码库口令,直接输入Keystore密码(输入过程中终端上不会显示,输完回车就行)
就能获取到SHA1和SHA256

2.获取md5

由于上述以前这种方式是可以打印出MD5,现在这种方式却没把MD5值打印出来,处理办法如下
直接在as中的Terminal工具在命令行中输入gradle命令:

./gradlew signingReport

在这里插入图片描述

3.从Keystore获取公钥信息

1.导出公钥文件
输入指令,包的别名可以从上面获取MD5那里可以找到别名。

keytool -export -alias 包的别名 -file 路径/文件名.cer -keystore 路径/文件名.keystore

输入完成后回车,会提示输入一次密码,输入密码后回车,就能生成cer文件了。

2.转换成pem证书

openssl x509 -inform der -in 路径/名称.cer -out 路径/名称.pem

输入指令,回车即可转换成pem证书

3.查看公钥

keytool -list -rfc --keystore 路径/名称.keystore | openssl x509 -inform pem -pubkey

输入指令,回车后输入密码,再回车,即可看到公钥信息。
在这里插入图片描述
-----BEGIN PUBLIC KEY-----
这里就是公钥了!!
-----END PUBLIC KEY-----

4.如何生成私钥

1. 从JKS转换到PKCS12

keytool -importkeystore -srckeystore 路径/名称.jks -destkeystore 路径/名称.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass 源密钥库密码 -deststorepass 目标密钥库密码 -srcalias 源密钥库别名 -destalias 目标密钥库别名 -srckeypass 源密钥库中私钥密码 -destkeypass 目标密钥库中私钥密码 -noprompt

具体来说:

  • srcstorepass:这是源密钥库的密码,即您要从中获取数据的密钥库的密码。
  • deststorepass:这是目标密钥库的密码,即您要将数据存储到的密钥库的密码。
  • srcalias:这是源密钥库中的别名的标识符,用于指定要导入的条目。
  • destalias:这是目标密钥库中的别名的标识符,用于指定要将条目导入到的位置。
  • srckeypass:这是源密钥库中私钥的密码短语,用于在访问源密钥库时验证身份并获取私钥。
  • destkeypass:这是目标密钥库中私钥的密码短语,用于在访问目标密钥库时验证身份并获取私钥。
  • -noprompt:这是一个选项,表示在执行过程中不提示输入密码或进行任何交互。

生成.p12文件
在这里插入图片描述

2. 从PKCS12转换成PEM格式

openssl pkcs12 -in 路径/名称.p12 -out 路径/名称.pem -passin pass:密码-passout pass:密码

在这里插入图片描述

  • pkcs12 是OpenSSL的一个命令,用于处理PKCS#12格式的文件。
  • -in 参数后面的是输入文件的路径和名称,即你要处理的PKCS#12文件。
  • -out参数后面的是输出文件的路径和名称,即你希望输出的PEM格式的文件。
  • -passin和**-passout**参数后面的是输入和输出文件的密码。在-passin中,你输入你的PKCS#12文件的密码;在-passout中,你设置PEM文件的输出密码。

3.生成私钥companyname_private_key.pem文件

openssl pkcs12 -in 路径/名称.p12 -nodes -nocerts -out 路径/名称_private_key.pem

在这里插入图片描述
打开文件就有私钥信息了

在这里插入图片描述
最后然后随便找一个网站测试一下
在这里插入图片描述

参考文章生成keystore以及导出keystore公钥,私钥信息
参考文章【Android】从Keystore中查看公钥和MD5
参考文章APP备案,最新获取安卓签名文件中MD5等信息方法

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

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

相关文章

Android Studio Hedgehog | 2023.1.1(刺猬)

Android Gradle 插件和 Android Studio 兼容性 Android Studio 构建系统基于 Gradle,并且 Android Gradle 插件 (AGP) 添加了一些特定于构建 Android 应用程序的功能。下表列出了每个版本的 Android Studio 所需的 AGP 版本。 Android Studio versionRequired AG…

代码随想录二刷 |二叉树 |填充每个节点的下一个右侧节点指针II

代码随想录二刷 |二叉树 |填充每个节点的下一个右侧节点指针II 题目描述解题思路代码实现 题目描述 117.填充每个节点的下一个右侧节点指针II 给定一个二叉树: struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 ne…

上网行为管理软件如何监控员工访问网址信息

上网行为管理软件可以通过域之盾软件来监控员工访问的网址信息: 主要方式↓ 1、网页日志记录 上网行为管理软件可以通过网页日志记录功能,完整地记录员工在工作中访问的所有网站,包括访问时间、访问页面、访问方式等,从而实现对…

【Pytorch】Fizz Buzz

文章目录 1 数据编码2 网络搭建3 网络配置,训练4 结果预测5 翻车现场 学习参考来自: Fizz Buzz in Tensorflowhttps://github.com/wmn7/ML_Practice/tree/master/2019_06_10Fizz Buzz in Pytorch I need you to print the numbers from 1 to 100, excep…

快捷切换raw页面到repo页面-Raw2Repo插件

Raw2Repo By Rick 📖快捷切换代码托管平台raw页面到repo页面 🔗github链接 https://github.com/rickhqh/Raw2Repo ✨Features 功能: ✅单击 Raw2Repo 插件按钮,即可跳转到相应的代码仓库页面。✅支持 GitHub、Gitee、GitCode …

ChatGPT OpenAI API请求限制 尝试解决

1. OpenAI API请求限制 Retrying langchain.chat_models.openai.ChatOpenAI.completion_with_retry.._completion_with_retry in 4.0 seconds as it raised RateLimitError: Rate limit reached for gpt-3.5-turbo-16k in organization org-U7I2eKpAo6xA7RUa2Nq307ae on reques…

Ignis - Interactive Fire System

Ignis - 点火、蔓延、熄灭、定制! 全方位火焰系统。 这个插件在21年的项目中使用过很好用值使用概述 想玩火吗?如果想的话,那么Ignis就是你的最佳工具。有了Ignis,你可以把任何物体、植被或带皮带骨的网状物转换为可燃物体,它就会自动着火。然后,火焰可以蔓延,点燃其他物…

C++_函数重载

前言: 函数重载的意思就是可以有多个同名函数存在,但是这些同名函数的参数列表有着不同情形,以便区分。在C中,支持在同一作用域下可以声明、定义多个同名函数,但是这些函数的形参类型,类型顺序以及参数个数…

dcat admin多后台和自定义登录

多后台按照教程配置 https://learnku.com/docs/dcat-admin/2.x/multi-application-multi-background/8475 自定义登录 我的新后台的登录需要另外一个用户表,所以原来的逻辑要修改一下。 1、首先是模板修改 参考连接 https://learnku.com/docs/dcat-admin/2.x/ba…

UML案例分析

首先需要花大约20分钟来思考解决这个问题,如果对问题不是很熟悉,也可以在完成题目之后,找相关的资料翻阅(例如看UML类图的基本情况,UML状态图的基本情况,然后结合这些信息 做一个自我评价,看这个…

Error: Cannot find module ‘E:\Workspace_zwf\mall\build\webpack.dev.conf.js‘

执行:npm run dev E:\Workspace_zwf\zengwenfeng-master>npm run dev> mall-app-web1.0.0 dev E:\Workspace_zwf\zengwenfeng-master > webpack-dev-server --inline --progress --config build/webpack.dev.conf.jsinternal/modules/cjs/loader.js:983thr…

多线程案例-单例模式

单例模式 设计模式的概念 设计模式好比象棋中的"棋谱".红方当头炮,黑方马来跳.针对红方的一些走法,黑方应招的时候有一些固定的套路.按照套路来走局势就不会吃亏. 软件开发中也有很多常见的"问题场景".针对这些问题的场景,大佬们总结出了一些固定的套路.按…

docker容器配置MySQL与远程连接设置(纯步骤)

以下为ubuntu20.04环境,默认已安装docker,没安装的网上随便找个教程就好了 拉去mysql镜像 docker pull mysql这样是默认拉取最新的版本latest 这样是指定版本拉取 docker pull mysql:5.7查看已安装的mysql镜像 docker images通过镜像生成容器 docke…

初识人工智能,一文读懂迁移学习的知识文集(4)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

低多边形建筑3D模型纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

ThinkPHP如何讲链接多个数据库

为什么要使用多个数据库 数据分片: 当数据量非常大时,可能需要将数据分布在不同的数据库中,以提高查询性能。这被称为数据分片,其中不同的数据库负责存储不同范围的数据。 业务分离: 有时,一个大型项目可…

使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题

文章目录 一、 篇头二、 操作步骤2.1 编译AOSP AS工程文件2.2 将AOSP导入Android Studio2.3 切到Project试图2.4 等待index结束2.5 下载缺失的JDK 1.82.6 导入完成 三、 导入AS的好处3.1 本文案例演示源码编译错误AS对比同文件其余地方的调用AS错误提示依赖AS做错误修正 一、 篇…

Docker网络原理及Cgroup硬件资源占用控制

docker的网络模式 获取容器的进程号 docker inspect -f {{.State.Pid}} 容器id/容器名 docker初始状态下有三种默认的网络模式 ,bridg(桥接),host(主机),none(无网络设置&#xff…

QT中时间时区处理总结

最近项目中要做跨国设备时间校正功能,用到了时区时间,在此做一下记录。 目录 1.常见时区名 2.测试代码 3.运行效果 1.常见时区名 "Pacific/Midway": "中途岛 (UTC-11:00)", …

2023中国(海南)国际高尔夫旅游文化博览会 暨国际商界峰层·全球华人高尔夫精英巡回赛 全国颍商自贸港行盛大启幕

2023中国(海南)国际高尔夫旅游文化博览会(以下简称“海高博”)暨全国颍商走进海南自贸港于12月7-9日在海口观澜湖盛大开幕。该活动由中国国际贸易促进委员会海南省委员会、海南省旅游和文化广电体育厅主办,中国国际商会…