【问题标题】:How to hide harded coded password in Java source code [duplicate]如何在Java源代码中隐藏硬编码密码[重复]
【发布时间】:2014-08-09 09:57:24
【问题描述】:

我有一个连接到网站并对其内容进行更改的程序。程序登录首先有权更改内容。现在我想将程序传递给其他人,以便他们可以运行程序来帮助我完成任务。

该程序只能在我的帐户下登录,我不想传递密码。我决定像这样硬编码密码:

String username = "username";
String password = "password";
login(username, password);

如何确保无法找回密码?如果无法恢复操作怎么办?或者有什么更好的方法来解决我的问题?

【问题讨论】:

  • 你只是给他们可执行文件对吗?还是你给他们完整的源代码?
  • @TheLostMind 不只是 jar 文件。
  • 其他人在网站上是否有自己的帐户,还是绝对需要是您的帐户?

标签: java passwords


【解决方案1】:

如何确保密码无法找回?

如果无法恢复,程序也无法恢复,也就无用了。

如果无法恢复操作怎么办?

是的,不要称之为密码。很简单的事情是,

String p = "kjasghfdkgasdfjlkasfljkahgdsfjhgdjsfh".substring(8, 15);

或者有什么更好的方法来解决我的问题?

相信那些试图帮助你的人。尽可能为帐户提供有限的访问权限以完成工作,并定期更改密码,这样虽然他们可以解决问题,但他们将无法长时间访问。

【讨论】:

    【解决方案2】:

    如果其他人在网站上拥有自己的帐户,那么您可以避免泄露自己的帐户。将用户名和密码放在与您的程序分开的配置文件中 - 大致如下:

    Properties login = new Properties();
    try (FileReader in = new FileReader("login.properties")) {
        login.load(in);
    }
    String username = login.getProperty("username");
    String password = login.getProperty("password");
    

    并创建一个包含以下内容的文件login.properties

    username=your_username_here
    password=your_password_here
    

    当你给别人程序时,只给他们程序,而不是配置文件。指导他们使用自己的用户名和密码创建文件。

    【讨论】:

    • 他们在网站上没有帐户。
    【解决方案3】:

    通过将密码存储在一个数组中并将该数组连接到一个复杂的 if 语句、switch 语句等系统来混淆它。越复杂越好。查看https://gist.github.com/jorgeatorres/442094 以了解某人使用 Hello World 执行此操作的示例。另外,不要称它为“密码”...

    【讨论】:

    • 我正在做类似的事情。我不是在寻找“无法破解”的算法,我只是在寻找一种增加查找密码所需时间的方法。基本上,我有一个算法,它接受密码,使用内置算法将其与字符网格匹配,并以字节数组的形式输出一系列动作和数学语句。字节数组是您存储在程序中的内容,然后您将其传递回算法以从其中取回密码。字节数组被向后读取。它增加了复杂性,这正是我真正想要的。
    【解决方案4】:

    您可以将密码以加密格式输入并在程序中解密,但是完全不建议在程序中使用密码。

    我假设这是通过 FTP 发生的?我建议您制作一个登录表单,让用户填写自己的登录信息。您可以为每个用户或其他任何人创建一个 FTP 帐户。

    无论你多么想隐藏它。它仍然存在,并且仍然会被发现。

    【讨论】:

    • 他将运送他的代码使用的任何加密算法 - 代码:P
    • 这就是我说不推荐的原因。可能我没说清楚。
    • 这是通过 https 它发生在维基百科上。要进行更改,您必须拥有一个机器人帐户。
    • 嗯,你正在做的事情很难保证安全。如果您在服务器端进行身份验证,任何人仍然可以使用它进行身份验证,因为没有其他形式的身份验证。如果你想要最简单的方法,你可以按照@BenjaminJB 所说的去做,希望没人能弄清楚。
    猜你喜欢
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 2013-08-16
    相关资源
    最近更新 更多