如何从Android Studio检索已保存的密钥库密码?

时间:2013-09-09 15:36:36

标签: android android-studio android-keystore

新的Android Studio允许我们保存密钥库密码供以后使用。这些密码存储在我的计算机(OSX)上的哪个位置,有没有办法检索保存的值?

enter image description here

修改 我正在寻找别名密码,而不是密钥库密码

6 个答案:

答案 0 :(得分:42)

您可以在Android Studio生成的idea.log文件中找到它:

搜索" Pandroid.injected.signing.key.password"你可以看到密钥密码。

示例日志:

  

2015-11-13 10:22:48,844 [709463]信息 -   a.gradle.invoker.GradleInvoker - 构建命令行选项:   [--configure-on-demand,-Pandroid.injected.invoked.from.ide = true,   -Pandroid.injected.signing.st ore.file = / Users / varun / Projects / myapp / mykey.jks,   -Pandroid.injected.signing.store.password = mykeystorepassword,-Pandroid.injected.signing.key.alias = myalias, - Pandroid.injected.signing.key.password = mykeypassword , - .Pandroid.injected .apk.location = /用户/ VARUN /代码/机器人/工作区/ MyApp的,   --init-script,/private/var/folders/vk/z504nlhd6v30p7zvtgjp5sjm0000gn/T/asLocalRepo0.gradle]

注1:在OSX上,idea.log文件可以在〜/ Library / Logs / AndroidStudio2.0找到

注意2:如果您在idea.log中找不到密码,那么还要查看名为idea.log.1,idea.log.2等文件。

Source

答案 1 :(得分:10)

Gradle将它们存储在二进制文件的项目目录中。您可以像这样(从项目目录)获取它们:

strings .gradle/GRADLE_VERSION/taskArtifacts/taskArtifacts.bin | grep storePassword -A1

(感谢https://stackoverflow.com/a/33624636/1982087 for taskArtifacts.bin指针)

答案 2 :(得分:9)

从您签署apk的日期开始查找日志文件,您可以在下面找到您的关键信息。

-Pandroid.injected.signing.store.password=[store_password], 
-Pandroid.injected.signing.key.alias=[alias], 
-Pandroid.injected.signing.key.password=[key_password]

您可以在

下找到您的日志文件
  

C:\用户\ username.AndroidStudio [versionNum] \ SYSTEM \日志\

答案 3 :(得分:8)

对于任何试图在更新版本的Android Studio和Ubuntu上恢复密钥库密码的人来说,似乎大多数记录在案的从日志,gradle等中恢复密码的建议都不再起作用。 Corneliu出色的蛮力脚本非常棒-除非您选择没有字典字词的16个字符的密码,并且希望在本月某个时候得到结果:)使用Intellij security.xml解决方案不再可用于从Android Studio检索保存的密码据我所知,也可以。

但是-稍微摸索一下,Android Studio 3.1似乎在Ubuntu 18.04中使用OS钥匙串,因此检索保存的密钥库密码很简单:

  1. 打开“密码和键”(使用超级键并搜索“密码”)
  2. 通过“ android”过滤结果
  3. 查看每个条目,它们将是 像org.jetbrains.android ... KeyPasswordRequestor之类的东西,以及 依次打开每个
  4. 展开密码下拉菜单,然后选择 “显示密码”,它将类似于: KEY_STORE_PASSWORD __ / home/pathto/keystore/keystore-name.jks@mycoolpassword

找到您要查找的密钥库,@后面的位是您丢失的密码。希望能帮助到那里的人!

答案 4 :(得分:5)

我遇到了同样的问题!

它让我发疯但我发现了一个小脚本,它可以救我:https://github.com/corneliudascalu/intellij-decrypt

我认为它可以帮到你。 好看的

答案 5 :(得分:4)

在macOS上,最新版本的Android Studio(在3.2上进行测试)将密钥库/密钥密码存储在钥匙串中的以下项目中:

  • org.jetbrains.android.exportSignedPackage.KeystoreStep$KeyStorePasswordRequestor
  • org.jetbrains.android.exportSignedPackage.KeystoreStep$KeyPasswordRequestor

前者存储密钥库本身的密码,而后者存储密钥的密码。

您可以使用系统钥匙串访问应用程序访问它们。找到相应的条目,然后双击它。帐户字段应以以下形式包含密钥库的路径或密钥库内的密钥别名的路径: KEY_STORE_PASSWORD__/Users/username/keystorenameKEY_STORE_PASSWORD__/Users/username/keystorename__alias

单击Show password并在要求时输入您的macOS密码。就是这样!