前提・実現したいこと
こんにちは、現在PHPでウェブサイトを作成し、そのサイトではアカウントを作って
中のコンテンツにアクセスする仕様にしております。
アカウントを作ったユーザーのパスワードはsaltを使って暗号化されてユーザーのデータベースに
収納されてます。PHP上ではログインプロセスは問題なく動きます。
それとは別にJavaでそのPHPのサイトデータの管理用アプリを製作しており、
そのアプリでもログイン画面が存在し、同じユーザーのデータベースに接続したいのですが
PHPで暗号化されたパスワードをJavaでどうやって復号したらいいのか分かりません。
該当のソースコード
PHP
1function salt() { 2 3 4 $str = array_merge(range('a', 'z'), range('0', '9'), range('A', 'Z'),array(".","/")); 5 $max = 22; 6 7 8 $salt = "$2y$04$"; 9 10 for ($i = 1; $i <= $max; $i++) { 11 $salt .= $str[rand(0, count($str)-1)]; 12 } 13 14 15} 16
Java
1//ログインプロセス 2//現在はただ入力された文字をそのまま比べるのみのコードになっております 3 4public void login_process() { 5 admin = false; 6 7 try { 8 9 ResultSet rs = (ResultSet) st.executeQuery( 10 "SELECT * WHERE FROM m_users" + 11 "m_username = '" + us_name.getText() + "' AND " + 12 "m_password = '" + new String(txtPassword.getPassword()) + 13 "' LIMIT 1;" 14 ); 15 16 17 if (rs.next()) { 18 19 //ログインが成功した場合のコード 20 21 }else{ 22 23 //ログインが失敗した場合のコード 24 } 25 } else { 26 MSG_POPUP("エラー"); 27 } 28 } catch (SQLException e) { 29 System.out.print(e.getMessage().toString()); 30 } 31 } 32 33
プログラミング初心者ですが、何か解決の糸口になるアイデアか何かいただければ幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。