2014-01-17 53 views
18

我忘記了我的Android密鑰庫的密碼,但它保存在Intellij IDEA密碼管理器中。我知道主密碼,因此IDEA能夠自動完成密鑰存儲密碼,但我無法從文本字段查看或複製/粘貼密碼。Intellij IDEA - 查看保存的密碼

是否有插件可以做到這一點,也許?

我也嘗試尋找一些日誌或shell,因爲我認爲幕後IDEA使用SDK中的keytool實用程序,所以也許我可以在命令行中找到密碼。

我已經跑出了想法。請幫忙。

編輯:如果有人知道加密密碼保存在哪裏,我可以備份該文件並在將來的IDEA安裝中使用它,並使用相同的主密碼。這會起作用嗎?

+0

類似的問題僅供參考:http://stackoverflow.com/questions/21006690/recover-passwords-protected-by-master-password-in-intellij-idea –

回答

36

我已經設法瞭解的源代碼足以放在一起一個小型的實用程序,使用主密碼解密security.xml文件中的密碼。 https://github.com/corneliudascalu/intellij-decrypt

+3

非常感謝你,拯救生命! –

+0

安全。xml位於C:\ Users \ {user} \ {intellij.folder} \ config \ options \ security.xml – homaxto

+0

在mac上,該文件位於以下位置:〜/ Library/Preferences/IntelliJIdea2016.2/options/security。 xml –

2

具有相同的問題,除非我根本沒有設置主密碼。

經研究發現,該密碼位於security.xml文件中,位於.IntelliJIdea12/config/options filder。但它受到AES保護(至少看起來如此)。

- 編輯 -

參看下面我的評論,在那裏我已經指向IDE源,處理密碼存儲和加密

+0

謝謝。 Intellij IDEA代碼是開源的,所以應該能夠弄清楚如何解密密碼。我會試着去研究它。 –

+0

我發現了密碼存儲和編碼\解碼的實現,但未能弄清楚如何反轉過程。與com.intellij.ide.passwordSafe namespase相關的所有代碼均位於該文件中。例如 - 讀取\寫入密碼數據庫的api位於com.intellij.ide.passwordSafe.impl.providers.masterKey.PasswordDatabase(http://goo.gl/cbmFAU)。加密\ decrypt代碼位於com.intellij.ide.passwordSafe.impl.providers.EncryptionUtil(http://goo.gl/0gIcBU) – itmamonth

+0

'EncryptionUtil'類似乎只從標準JAva庫中導入類,所以它應該可以在不編譯整個IDEA代碼庫的情況下使用它。解密的方法應該是public static byte [] decryptKey(byte [] password,byte [] encryptedKey)'(http://grepcode.com/file/repository.grepcode.com/java/ext/com.jetbrains/ intellij-idea/12.1.2/com/intellij/ide/passwordSafe/impl/providers/EncryptionUtil.java?av = f#148) –