java String编译

tim*_*Mih 4 java string compilation

我正在编写一个使用FTP加载文件的应用程序.代码如下所示:

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

但是在编译之后我可以在.class文件中看到它们.编译代码如下所示:

\00username\00password
Run Code Online (Sandbox Code Playgroud)

所以问题是我可以在编译的代码中看到密码和登录.我认为那不好.如何在字节码中编写java编译字符串呢?

Ale*_*rlo 5

没有将字符串文字编译为"字节码"的事情.有一个String的字节表示,但是,正如您所注意到的,大多数文本查看器会将此字节表示转换为其正常的ascii/unicode表示.无论哪种方式,存储甚至混淆的用户名/密码都是一个安全隐患,永远不应该这样做.

为了安全地存储用户名/密码,您应该从外部安全文件访问它,而不是将其硬编码到程序中.

  • 好的.我知道我需要寻找其他解决方案......感谢您的帮助. (2认同)