Java と MySQL を使用してクライアント データベース アプリケーションを作成したいと考えています。私の知る限り、Java は逆コンパイルでき、MySQL をクライアントから直接使用すると、データベースの資格情報が公開されます。
MySQL サーバーを使用して Java クライアントを作成するにはどうすればよいですか? ユーザーは私のデータベース資格情報を知ることができません。
Web アプリケーションを作成している場合は、サーバー構成ファイルにデータソースを作成できます。そうすれば、データベース資格情報がサーバー ファイル自体に含まれ、Java フィールドでデータソース名を使用するだけで済みます。
アプリをリバース エンジニアリングしてデータベースの資格情報を取得するサード パーティから完全に逃れることはできません。どのような形式でもアプリにハードコードしないでください。
あなたの問題に対する最も適切な解決策は、承認のフレーバーを追加することだと思います。
アプリとデータベースの間にレイヤー (SOAP などのサービス レイヤー、または REST API など) を追加し、ユーザーごとにアクセス許可を制限できます。別のオプションは、mysql の権限管理を使用することです。
これが役立つことを願っています。
クライアントは、接続するためにデータベース資格情報を知っている必要があります。
クライアント用のサーバーを作成しAPI
、データベース自体に接続する必要があります。API は必要なものをすべて隠し、RDBMS の種類に依存しません。ここでクライアントサーバーモデルを参照してください