0

In my application I want to use Private key which will encrypt password once and decrypt as many times the tool will be run.

Application will run like:

  • User will encrypt the password using the tool.
  • Then user will paste that password in properties file.
  • When next time tool will run it will read that password and decrypt it to login.

Here I am facing problem like, when I encrypt the password I am doing it using another tool just for encryption perpose. So when I try to decrypt it the key is different than key generated. How can I share private key between these two tools..

Thanks..

4

4 回答 4

0

I think you are confusing symetric and asymetric encryption. When doing symetric encryption you can use the same key. In asymetric encryption you have two keys. A public key with which you can encrypt your passwords, but you can't decrypt them with this key. This is only possible with the private key. Therefore you don't need to share a key between those tools. Like the name suggests the private key should never leave you system.

于 2013-07-24T11:25:55.650 回答
0

感谢大家的回复,

我是数据加密的新手。第一次尝试。。

我正在开发一个基本上使用脚本运行的工具。代码将保存在很少有人可以访问的安全服务器上。只是担心用户不想在不加密的情况下将密码保存在属性文件中。因此,如果其他人尝试配置属性文件,他们应该无法找出密码。由于存在三种不同的登录凭证,因此将存在三种不同的来源。并且各自的管理员将从同一个文件中配置它们。

我找到了一个解决方案。

http://www.code2learn.com/2011/06/encryption-and-decryption-of-data-using.html

哪个最适合我的问题...

:)

于 2013-07-24T11:51:38.813 回答
0

我认为您主要关心的是在应用程序之间共享密钥。

在我看来,最好的方法是使用公私密钥对。您可以分发公钥并确保您的私钥安全。

如果使用多个应用程序生成密码,则使用公钥进行加密。如果一个应用程序生成密码并且多个应用程序使用它,那么您可以使用私钥进行加密,而您的所有其他应用程序都可以使用它们捆绑的公钥来解密密码。

关键是,一旦你弄清楚了你的密钥对分布,你可以根据应用程序的设计方式来公开或私有地加密或解密。

有关如何创建密钥对和加密/解密数据的更多详细信息,请参阅开始加密示例。

于 2013-07-24T19:23:09.727 回答
0

你把不同的东西混在一起...

当您使用私钥加密某些内容时,您将需要相应的公钥来解密。

如果您真的想这样做,那么您也可以将公钥的路径放入属性文件中。

您所描述的是一些仅使用一个密钥的对称密码。

此外,正如 dasblinkenlight 所指出的,使密码可解密会产生一些安全问题,因此请测试您是否可以设计不同的应用程序......

于 2013-07-24T11:27:58.943 回答