DCloud_Android_DQQ
DCloud_Android_DQQ
  • 发布:2021-02-25 11:44
  • 更新:2024-05-17 19:04
  • 阅读:43871

可获取MD5签名的JDK版本 分享

分类:uni-app

目前部分 应用服务(比如一键登录)需要提供 android应用的MD5证书签名

但是最新版本的JDK 已经不支持MD5了,仅支持sha1,sha256两种签名。

分享一下可以获取MD5签名的旧版本JDK

链接:https://pan.baidu.com/s/1U4SWoYY6Gn4B4PjSJwy9Gg
提取码:tm85

感谢 热心开发者 @759416651@qq.com 的分享

11 关注 分享
zhangdaren zhaoyu2020 2***@qq.com 2***@qq.com y***@163.com 喜欢技术的前端 老哥教教我 c***@126.com 1***@qq.com DCloud_UNI_HRK AutumnIllusion

要回复文章请先登录注册

meie

meie

https://www.mocklib.com/keystore
2023-10-16 13:00
9***@qq.com

9***@qq.com

keytool -exportcert -keystore xxx.keystore | openssl dgst -md5
2023-09-30 13:53
1***@qq.com

1***@qq.com

回复 宇智波鱼鱼鱼 :
换回原来的,然后用第一条评论的方法就好~
2023-09-20 15:45
a***@gmail.com

a***@gmail.com

不愿意装旧版的同学可以这样:

`keytool` 默认不显示 MD5 值。如果你运行 `keytool -list -v -keystore [你的.keystore文件]` 并且不看到 MD5,你可以使用其他方法来获取它。

以下是一种方法,使用 `keytool` 和 `openssl` 来获取 `.keystore` 文件中的 MD5 指纹:

1. **首先,使用 `keytool` 获取 SHA1 指纹**:

```bash
keytool -exportcert -alias [你的密钥别名] -keystore [你的.keystore文件] -file output.crt
```

上述命令将为你的别名创建一个名为 `output.crt` 的证书文件。

2. **然后,使用 `openssl` 获取 MD5 指纹**:

```bash
openssl x509 -inform der -in output.crt -noout -fingerprint -md5
```

这会输出 MD5 指纹,它看起来像这样:

```
MD5 Fingerprint=XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
```

3. **完成后,请记得删除临时生成的 `output.crt` 文件**:

```bash
rm output.crt
```

这样,你就可以获取 `.keystore` 文件中的 MD5 指纹了。
2023-09-17 13:00
2***@qq.com

2***@qq.com

我试了一下可以生成md5值,我使用的百度网盘里的版本,直接在bin文件内打开输入```keytool -genkey -alias puhuitx -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore```生成后使用```keytool -list -v -keystore test.keystore```可以看到md5值
2023-08-16 17:55
宇智波鱼鱼鱼

宇智波鱼鱼鱼

回复 H***@163.com :
试了好像没用,报了一个'openssl' 不是内部或外部命令,也不是可运行的程序
2023-08-10 19:54
宇智波鱼鱼鱼

宇智波鱼鱼鱼

我是生成了证书发现没有MD5才来的,换成jdk1.8,原来的证书就不能再用了,报了一个这样的错误:java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:658)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
at java.security.KeyStore.load(KeyStore.java:1445)
at sun.security.tools.keytool.Main.doCommands(Main.java:933)
at sun.security.tools.keytool.Main.run(Main.java:366)
at sun.security.tools.keytool.Main.main(Main.java:359)
2023-08-10 15:57
2***@qq.com

2***@qq.com

确实还得是201
2023-05-05 10:45
zhaoyu2020

zhaoyu2020

安装了 jre1.8.0_202 但是并没有你们所提的 需要openssl
2023-04-10 15:13
onion一只洋葱

onion一只洋葱

回复 2***@qq.com :
openssl不存在,需要配置openssl
配置openssl环境变量看这个,https://www.jianshu.com/p/05bb95d28014
2023-02-14 11:22