如何在Java源代码中隐藏硬编码密码

Hun*_*nsu 5 java passwords

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

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

String username = "username";
String password = "password";
login(username, password);
Run Code Online (Sandbox Code Playgroud)

如何确保无法恢复密码?如果不能做什么来使恢复操作变硬?或者对我的问题更好的方法是什么?

Pet*_*rey 7

如何确保无法恢复密码?

如果无法恢复,程序也无法恢复它,它将毫无用处.

如果不能做什么来使恢复操作变硬?

是的,不要称它为密码.很简单的是,

String p = "kjasghfdkgasdfjlkasfljkahgdsfjhgdjsfh".substring(8, 15);
Run Code Online (Sandbox Code Playgroud)

或者对我的问题更好的方法是什么?

相信那些试图帮助你的人.授予帐户作为有限访问权限以尽可能地进行工作并定期更改密码,以便在可以解决问题的同时,他们将无法长时间访问.


use*_*751 5

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

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

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

username=your_username_here
password=your_password_here
Run Code Online (Sandbox Code Playgroud)

当你给其他人程序时,只给他们程序,而不是配置文件。向他们提供使用他们自己的用户名和密码创建文件的说明。