Passando senha Criptografada para a Conexão JDBC com Oracle

Bom dia pessoal

Estou com um problema, 
    tenho que passa o Usuario e a Senha Criptografados para o Driver de conexão JDBC

Como eu faço isso?

Meu código de conexão.


import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.HttpSessionBindingListener;
import javax.servlet.http.HttpSessionBindingEvent;

public class ConnectionDB implements HttpSessionBindingListener{

  private Connection connection;
  private Statement statement;
  
  private static final String drive = "oracle.jdbc.driver.OracleDriver";
  
  private static final String dbURL="jdbc:oracle:thin:@<#Servidor >:<#Porta >:<#Banco >"; 
  
  private static String user = null ;
  private static String pws = null;
  
  public ConnectionDB(String usuario, String senha)  {
    
    user = usuario;
    pws = senha;

    try {
      Class.forName(drive);
      connection=DriverManager.getConnection(dbURL,user,pws);
      statement = connection.createStatement(
        ResultSet.TYPE_SCROLL_INSENSITIVE,
        ResultSet.CONCUR_READ_ONLY);
    } catch (ClassNotFoundException e){
      System.err.println("ConnectionDB: Driver indisponivel");
      connection = null;
    } catch (SQLException e ){
      System.err.println("ConnectionDB: Driver não carregado");
      connection=null;
    }
  }
  public Connection getConnection(){
    return connection;
  }
  
  public void commit() throws SQLException{
    connection.commit();
  }
  public void rollback() throws SQLException{
    connection.rollback();
  }
  
  public void setAutoCommit(boolean autoCommit)throws SQLException{
    connection.setAutoCommit(autoCommit);
  }
  public ResultSet  executeQuery(String sql) throws SQLException{
    return statement.executeQuery(sql);
  }
  public int executeUpdate(String sql) throws SQLException{
    return statement.executeUpdate(sql);
  }
  public void valueBound(HttpSessionBindingEvent event){
    System.err.println("ConexaoBD: método valueBound chamado ");
    try {
       if (connection == null|| connection.isClosed()){
          connection = DriverManager.getConnection(dbURL,user,pws);
          statement = connection.createStatement();
       }
    } catch (SQLException e ){
       connection = null;
    }
  }
  public void valueUnbound(HttpSessionBindingEvent event){
    try {
       connection.close();
    } catch(SQLException e ){}
    finally{
        connection = null;
    }
  }
  protected void finalizer(){
    try{
      connection.close();
    } catch (SQLException e){}
  }


  public void setUser(String user)
  {
    this.user = user;
  }


  public String getUser()
  {
    return user;
  }


  public void setPws(String pws)
  {
    this.pws = pws;
  }
  
}

Muito obrigado…

Bom, partindo do principio que se vc usar alguma criptografia One-Way Hash Code, vc não vai ter como retornar a string anterior… e não vai rolar sua conexao…

A soluçõa mais fácil é usar SSL (https) para transmitir… Qualquer solução que voce usar vai ter seu aspecto de insecuridade… a mais segura seria aquela que vc não tem como retornar hehehe =)

Ai vc quem decide, vc fica num impasse…

abraços!

[quote=“jujo”]Bom, partindo do principio que se vc usar alguma criptografia One-Way Hash Code, vc não vai ter como retornar a string anterior… e não vai rolar sua conexao…

A soluçõa mais fácil é usar SSL (https) para transmitir… Qualquer solução que voce usar vai ter seu aspecto de insecuridade… a mais segura seria aquela que vc não tem como retornar hehehe =)

Ai vc quem decide, vc fica num impasse…

abraços![/quote]
Bom o melhor seria os 2, mas vamos por partes:

Como eu realizaria esta conexão com o banco criptografada?