如何防止用户在Java中读取变量?

0 java android jakarta-mail

我正在使用Java编写Android应用程序,部分应用程序会将电子邮件帐户中的电子邮件发送到另一个电子邮件帐户.我正在使用JavaMail来实现这一目标.

这一切都运行得很好,除了我发送的电子邮件帐户的密码硬编码到我的程序中的变量.我不希望用户能够访问此变量.我需要加密吗?我该怎么做呢?有没有办法配置JavaMail所以我不必将我的密码存储在设备的任何地方?

这是我用来存储电子邮件和密码的代码.它只是自己类中的静态变量:

public class Config {
      public static final String EMAIL ="[email]@gmail.com";
      public static final String PASSWORD ="[password]"; 
}
Run Code Online (Sandbox Code Playgroud)

我尝试在帐户上激活双因素身份验证,但在这种情况下JavaMail失败了.

我不想进入应用程序的细节,但我家乡以外的任何人都没有任何理由下载此应用程序.这完全是为了本地目的.这是我从未在其他任何地方使用的密码,它是我专门为此应用程序制作的电子邮件帐户,因此我不会在此处承担重大风险.我仍然希望尽可能安全.

puh*_*len 5

如果您将密码硬编码到程序中,则无法阻止某人在需要时将其输出.

您可以设置应用可以连接到的Web服务器,而不是从应用程序发送电子邮件.如果必须发送电子邮件,则可以从此Web服务器发送电子邮件.这样,凭据就在您的私人服务器上,而不是您发送给每个人的应用程序上.