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
marceloplis
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Seg, 03 Set 2007 5:58 pm
Localização: Penápolis-SP
Marcelo César

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.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

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

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.
marceloplis
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Seg, 03 Set 2007 5:58 pm
Localização: Penápolis-SP
Marcelo César

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 [

Selecionar tudo

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.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

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

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.
marceloplis
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Seg, 03 Set 2007 5:58 pm
Localização: Penápolis-SP
Marcelo César

Trevisolli, se eu apenas cadastrasse o Usuário sua dicas até funcionariam, mas o problema é que como posso alterar o cadastro do usuário tb, 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 ??
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

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


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

Selecionar tudo

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.

Selecionar tudo

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.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes