0 views
Skip to first unread message

J. Maurício V. L. Júnior

unread,
Dec 4, 2017, 11:05:35 PM12/4/17
to csharp
Olá povo... quanto tempo!


Estou precisando autenticar usuários em uma aplicação WEB no banco de dados do Oracle 10g, porém as credenciais são nativas do banco por rodar já uma aplicação Oracle Forms, e gostaríamos de manter a mesma senha em ambos os sistema (Single Sing One).

Para isso preciso criptografar via C#, a senha que o usuário insere no formulário WEB para poder fazer a autenticação (validação se a HASH gerada for igual a salva no banco!).

Encontrei este código em PHP, porém até tentei converter mais sem sucesso, já que PHP não é o meu forte:

<?php
function oracle($un, $pw)
{
    $pt  = strtoupper($un . $pw);
    $pt .= str_repeat("\0", 3 - ((strlen($pt) - 1) & 3));
    $end = strlen($pt);
    $pt .= $pt;
    for ($a = 0; $a < $end; $a++)
    {
        $pt[2 * $a] = "\0";
        $pt[2 * $a + 1] = $pt[$a + $end];
    }
    $ct = mcrypt_encrypt(MCRYPT_DES, hex2bin('0123456789ABCDEF'), $pt, 'cbc', "\0\0\0\0\0\0\0\0");
    $ct = mcrypt_encrypt(MCRYPT_DES, substr($ct, -8), $pt, 'cbc', "\0\0\0\0\0\0\0\0");
    return bin2hex(substr($ct, -8));
}
?>

E realmente funciona pois testei com os seguintes dados:

Usuário: rota

Senha: teste

Hash Gerada: 89574FB579B04A40 (igual ao que está no banco de dados)

Se alguém puder me ajudar agradeço!

Se quiserem, respondam no Stack Overflow por gentileza... valeu !


Descubra a Moriah Tecnologia!



Sent with Mailtrack

J. Maurício V. L. Júnior

unread,
Dec 7, 2017, 12:48:09 PM12/7/17
to csharp
Pessoal... obrigado pela ajuda! E para que todos saibam.. o Maico Dionísio conseguiu "perder" um tempinho e me dar aquela força...

Valeu Maico....



Sent with Mailtrack

 Descubra a Moriah Tecnologia!

J. Maurício V. L. Júnior

unread,
Dec 9, 2017, 5:21:27 PM12/9/17
to csharp
Ah só ratificando a resposta foi colocada no StackOverflow...

Sent with Mailtrack

 Descubra a Moriah Tecnologia!

Reply all
Reply to author
Forward
0 new messages