将用户添加到数据库中的 Java 程序

标签 java

我正在开发一个简单的 java 程序,它接收用户输入,然后解析数据并将其上传到 sql 数据库以在线存储。

在我的 JDBC 代码中,我有以下内容:(小示例)

public class JDBCExample {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/";

   //  Database credentials
   static final String USER = "username";
   static final String PASS = "password";

我想知道在我将用户名和密码转换为 jar 文件后,在我的编程代码中以纯文本形式公开用户名和密码有多安全。对这样的应用程序进行逆向工程并揭示代码是否容易?

最佳答案

非常简单,是的。 javap -c JDBCExample.class 将立即完成。

通常,实现这一点的方法是将您公开分发的客户端应用程序与在受信任服务器上运行的服务器端应用程序分开。您分发的客户端应用程序不直接访问数据库;相反,它与服务器程序对话,服务器程序发布一个 API(通常是基于 HTTP 的 RESTful API),客户端可以通过该 API 发出请求。受信任的服务器端程序直接与数据库对话。

即便如此,最好不要将您的凭据硬编码到服务器端代码中。相反,让服务从您与代码库分开的文件中读取这些凭据(例如,不要将该文件 checkin 源代码管理)。

关于将用户添加到数据库中的 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470684/

相关文章:

java - RAD - Websphere 应用程序服务器无法启动

java - 编写字符串评估函数

java - 如何解析 JSON 响应对象并将其显示在 TextView 中

java - JSON:使用 JSON 数据创建网页

java - Selenium ElementNotVisibleException 是 InvalidStateException 的一个实例

java - 通过循环获取List<String>中的字符串值进行显示

java - 编码风险(游戏): Making buttons shape of territories

java - 使用正则表达式获取子串

java - 从 Spring 3 迁移到 Spring 4 - org.springframework.scheduling.quartz.CronTriggerBean

java - 在不使用注销按钮的情况下终止 Android 应用程序时注销和 session false