【问题标题】:secure sftp password in java programjava程序中的安全sftp密码
【发布时间】:2014-09-23 17:23:41
【问题描述】:

我正在编写一个 Java 程序,我有一个非常基本的问题。

我想使用 SFTP 从/向服务器访问和写入文件,例如使用 JSch http://www.jcraft.com/jsch/ 或 edtftpj http://enterprisedt.com/products/edtftpj/

我的问题是:使用所有这些工具,我必须将密码保存在源代码中。如果我想将此程序提供给任何人并且他们对其进行逆向工程,他们可以访问服务器....不需要。

任何想法如何处理?

【问题讨论】:

    标签: java ftp passwords sftp password-protection


    【解决方案1】:

    要么从纯文本文件中读取密码(其权限应受到限制,因此除了用户之外没有人可以读取它)或使用私钥进行身份验证,这在功能上是等效的。

    最安全的选择是根本不保存密码并始终要求用户输入。使用该选项,您可以选择将密码保存在内存中以备后用,但当您关闭程序时,它会再次被清除。

    【讨论】:

    • 感谢 fsmv!您将如何配置只能由特定用户读取的文件?
    • 在mac或linux上你可以chmod 600 passwordfile但在windows上我认为你必须通过GUI右键单击文件并选择属性然后你会通过并确保没有人阅读访问但用户。即使没有权限(用户可以自己设置),做一个文件也可能比在代码中输入密码更好。
    【解决方案2】:

    或者在运行时将密码作为参数传入

    至于配置只能由特定用户读取的文件,这取决于操作系统,但在大多数 linux 变体上它看起来像:

    chmod 400 file
    chown user file
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 2011-02-11
      相关资源
      最近更新 更多