Função de criptografia de senha da Oracle

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Seg, 03 Set 2007 6:04 pm

Pessoal, ao criar um usuário: CREATE USER TESTE IDENTIFIED BY "aaa123"; ele grava em DBA_USERS o password criptografado com 16 caracteres: B531D90349A117C4

Existe alguma função que me retorne exatamente esta String B531D90349A117C4 caso eu passe como parâmetro "aaa123" ??? É possível utilizar a mesma função do Oracle ??


Obrigado.
marceloplis
Localização: Penápolis-SP

Marcelo César

Mensagemem Seg, 03 Set 2007 6:45 pm

Brother, exatamente qual ele utiliza eu desconheço.
Mas, caso queira fazer algo parecido, dê uma olhada neste tópico: http://glufke.net/oracle/post-433.html.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Ter, 04 Set 2007 8:10 am

Trevisolli, obrigado pela dica, mas o que preciso é exatamente a função utilizada pelo Oracle, porque após fazer o que tenho que fazer vou utilizar o seguinte comando CREATE USER TESTE IDENTIFIED BY VALUES "B531D90349A117C4"; em uma trigger de uma tabela Usuário que criei, que além de username e password, tem vários outros campos!!! A intenção é replicar os dados da tabela Usuário e criar o usuário (CREATE USER ...) com a mesma senha em todos os bancos.

valeu.
marceloplis
Localização: Penápolis-SP

Marcelo César

Mensagemem Ter, 04 Set 2007 8:36 am

Bom, tenho uma outra dica, que talvez dê certo:

1) Crie o usuário na base e "espere" o Oracle popular a DBA_USERS;
2) Faça uma busca neste campo criptografado pelo Oracle, para este usuário criado;
3) Replique a informação na tua tabela criada;

Acho q consiga o que deseja desta forma.
qualquer coisa manda ai.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Qua, 12 Set 2007 8:58 am

Trevisolli, se eu apenas cadastrasse o Usuário sua dicas até funcionariam, mas o problema é que como posso alterar o cadastro do usuário também, o que fazer quando alterar a senha ??

Vamos, lá, suponto o momento de cadastrar do usuário:
1 - Entro com as informações no cadastro de usuário no sistema Front-End com senha = "123456";
2 - No After Insert, populo o DBA_USERS, recupero a senha criptografada e faço um update do campo senha na tabela;
3 - Então a replicação:
a) Vai o Insert do usuário com a senha = "123456";
b) Vai o Update da senha criptografad;

Agora veja, se eu tiver uma trigger de Update, para quando alterar a senha, vai ocorrer que no momento que eu fizer o Insert e for fazer o update do campo senha, vai disparar a Trigger de Update, o que vai gerar uma senha diferente !!!

O que fazer ??
marceloplis
Localização: Penápolis-SP

Marcelo César

Mensagemem Qua, 12 Set 2007 10:11 am


Uma dica brother:

Quando ele alterar a senha, fazer da seguinte forma:
1) Alterar na tua tabela de usuários para 654321;
2) Mandar um ALTER na DBA_USERS com a sintaxe de alteração (ALTER USER X IDENTIFIED BY 654321;
3) Recupera novamente esta senha criptografada;
4) Dá um UPDATE na tua tabela novamente;

Uma dica seria, sempre que der um UPDATE neste campo, ir na DBA_USERS buscar a senha criptografada.

Código: Selecionar todos

CREATE USER teste_1 IDENTIFIED BY trevisolli -- Senha Gerada: 8596D8B862E76899;
ALTER USER teste_1 IDENTIFIED BY illosivert; -- Senha Gerada: 210432169BE2CD63;




Creio que dê certo.
qualquer coisa, manda ai.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP



Voltar para SQL

Quem está online

Usuários navegando neste fórum: Google [Bot] e 5 visitantes