Java 源代码中的密码-安全吗?

Java 源代码中的密码-安全吗?,java,android,passwords,Java,Android,Passwords,我对源代码中的密码有一个问题。例如,如果您想连接到FTP服务器,则必须在源代码中以纯文本形式写入密码。 这安全吗?或者可以反编译JAR文件或Android APK文件,以获取纯文本格式的数据?是否有安全的方法来存储数据 Java De编译器在互联网上很容易找到 如果是apk,您可以 在计算机上提取APK 使用诸如dex2jar转换器之类的工具生成.jar文件 使用java反编译器获取源代码。 但我也发现一些应用程序无法以这种方式反编译为源代码,我不知道他们是如何做到这一点的。实现这一点最安

我对源代码中的密码有一个问题。例如,如果您想连接到FTP服务器,则必须在源代码中以纯文本形式写入密码。
这安全吗?或者可以反编译JAR文件或Android APK文件,以获取纯文本格式的数据?是否有安全的方法来存储数据

Java De编译器在互联网上很容易找到
如果是apk,您可以

  • 在计算机上提取APK
  • 使用诸如dex2jar转换器之类的工具生成
    .jar
    文件
  • 使用java反编译器获取源代码。


但我也发现一些应用程序无法以这种方式反编译为源代码,我不知道他们是如何做到这一点的。

实现这一点最安全的方法是让“中间人服务器”与ftp在同一台机器上运行

该应用程序联系服务器并说“给我文件”。 然后服务器登录到ftp并将文件发送回应用程序

应用程序永远不知道ftp的密码、用户名或任何东西。只有ip地址和如何从服务器获取文件


然后,服务器可以有某种保护,只接受某些请求,或者只接受应用程序等的请求。

如果必须在源代码中包含密码,则在C中混淆密码更安全,Java代码只需从JNI获取密码即可。否则,请遵循RenéJensen的建议。

是否可以反编译JAR文件或Android APK文件,以明文形式获取这些数据?是:)任何人都可以从.apk和.dex到.jar获取.dex文件。&有反编译器可以从.jar获取java。因此,在源代码中存储密码是不安全的,这是不好的:(我能做些什么来避免这种情况?我知道如何反编译APK文件。但据我所知,字符串在纯文本中是不可见的。或者我错了吗?可能没有在源代码中存储任何敏感信息?我猜仍然存在嗅探工具的危险。完全的安全性几乎是不可能的,但继续搜索/学习并很难破解你的应用程序。这就是为什么我会在服务器端做所有事情。我想这是最安全的方式。