正确的Git存储库密码存储

时间:2012-07-04 15:16:08

标签: java git repository password-protection jgit

我正在构建一个可以管理GIT存储库的应用程序。

我已选择将存储库信息存储在数据库中,但我遇到密码问题。

问题: 当我遇到https +密码安全存储库时,我将需要存储密码。 如果我想在存储库上推送更改,我将需要密码作为纯文本。

如果我哈希密码,我无法重复使用它 什么是存储这些密码的良好安全解决方案,而不将它们存储为纯文本?

我正在使用Java和JGit库。

感谢。

2 个答案:

答案 0 :(得分:1)

你必须在某种程度上将它们存储为纯文本:正如你所说,你的应用程序取决于拥有密码。

如何存储它们取决于您能够处理的用户交互级别,以及您运行的系统 - 在Gnome桌面上,您可以与seahorse集成,在Windows上,您也许可以使用凭证保险库。如果你无法整合,那么复制像KeePass这样的方法可能是一个好主意。

如果您根本无法与用户交互,那么您可能也会存储未加密的数据,因为您无论如何都必须存储加密密钥。

答案 1 :(得分:0)

尝试BouncyCastle [1]。它在自由许可下提供了大量加密算法。

[1] http://www.bouncycastle.org/java.html