Criptografia Oracle

Boa tarde pessoal.
Gostaria de saber qual a criptografia que o oracle usa para criar as senhas de usuarios.

Com o comando :


SELECT USERNAME, PASSWORD FROM DBA_USERS

tenho acesso ao usuário e senha.

Preciso saber se tem algum algoritimo java que possibilite o comparar o valor deste retorno (PASSWORD) com uma STRING ex:

...
String o = criptografiaOracle('9793B3777CD3BD1A')
if(o.equals('DESIGNCOMD')){
// aqui que quero chegar
}
...

Jsign

Se fomos pessoas de sorte, e os programadores da Oracle forem bons, eles usam algum tipo de algoritmo de hash bom (algum melhor que o MD5).
Então, a resposta para a sua dúvida é: não. Não existe como vc descobrir a senha verdadeira.

depende como você está incluindo a informação no banco.
No caso do Oracle você pode passar a função dbms_obfuscation_toolkit.md5(‘valor’) e ele encripta…

Ou então, você pode passar via código utilizando uma criptografia qualquer e colando no seu SQL.

DexterDF, Clone_sealot

Obrigado.

Talvez não tenha me explicado direito.

Temos dois sistemas na empresa.

Um é tercerizado, um erp, em oracle (vamos apilida-lo de sisOracle)

Os usuários deste sistema oracle são os proprios usuários do banco, o login deles no sistema é a partir de um usuário oracle.

O outro sistema é em JAVA com Mysql. (vamos apilida-lo de sisMysql)

Eu preciso que o mesmo usuário do sistema sisOracle faça login no sistema sisMysql

Eu criei uma estrutura (bean) identica de usuario do sistema sisOracle para o sistema sisMysql.

Quero administrar o login a partir da base mysql, não quero ficar testando conexoes em oracle apenas para estabelecer o login do usuário.

nota: tenho rotinas que ocorrem de tempos em tempos atualizando a base sisMysql com os dados da base sisOracle

Eu consigo capturar os valores do usuário oracle, mas não consigo comparar os valores do password.

Clone, não me expliquei direito, não se trata de descobir a senha verdadeira, sim de comparar dois hashs.

ex:


String senha = superClasseOracle.encodeOracleSamplePass( usuarioSistemaMysql.getSenha() ); // parametro vindo do form

// .....

String sql = " SELECT * FROM usuarioSistemaMysql WHERE senha = " + senha ;

Pra que isso ocorra preciso de um metodo tipo esse carinha de: superClasseOracle.encodeOracleSamplePass

Mas obrigado pelo esforço.
Se souberem de alguma solução me avisem.

Abçs
Jsign

Pessoal, alguem tem idéia ?
JSign