Decrypt64

88 views
Skip to first unread message

Eduardo Santana

unread,
Mar 2, 2015, 8:14:12 AM3/2/15
to gug-sa...@googlegroups.com
Bom dia!

Alguém sabe me dizer se o Decrypt64 não funciona no EVOL 3?

Tenho uma aplicação no Gx9 VFP win que está funcionando e agora estou passando para o EVL3 .net web.
O Encrypt64 funciona faz a encriptação normal mas ai quando vou usar o Decrypt64 ele não retorna, retorna uns caracteres especiais.

Este é o Código que estou usando:
&UsuKey = GetEncryptionKey()
&Bc_TUsuario.UsuSig    = 'RRPEINFO'
&Bc_TUsuario.UsuNome   = 'Rrpe Informática'
&Bc_TUsuario.UsuDep    = 'SUPORTE TÉCNICO'
&Bc_TUsuario.UsuKey    = GetEncryptionKey()
&Bc_TUsuario.UsuSenha  = Encrypt64('SUPORTE', &UsuKey)
&Bc_TUsuario.UsuSenha1 = Encrypt64('SUPORTE', &UsuKey)
&Bc_TUsuario.Save()
If &Bc_TUsuario.Success()
commit
Else
Msg('Problema na inicialização do Sistema, erro: Usuário Master!')
rollback
EndIf

E estou recuperando da seguinte forma:
        &Bc_TUsuario.Load(&UsuSig)
If &Bc_TUsuario.Success()
&UsuSenha2 = &Bc_TUsuario.UsuSenha.Trim()
&UsuKey = &Bc_TUsuario.UsuKey.Trim()
&UsuSenha1 = Decrypt64(&UsuSenha2.Trim(), &UsuKey.Trim())
If &UsuSenha1 <> &UsuSenha
Msg('Usuário/senha, incorretos!')
Else
Msg('Aprovado')
EndIf
Else
Msg('Usuário/senha, incorretos!')
EndIf


Muito obrigado

Bruno Tavares

unread,
Mar 3, 2015, 8:41:56 AM3/3/15
to gug-sa...@googlegroups.com
Olá, Eduardo!

Não entendi bem o problema, mas se tratando de encriptação de valores é importante usar uma chave de 32 caracteres.

Atenciosamente,
Bruno

Eduardo Gomes de Santana

unread,
Mar 3, 2015, 10:28:09 AM3/3/15
to gug-sa...@googlegroups.com
Olá Bruno!

O que acontece:
Estou usando o Encrypt64 para gravar a senha do usuário no banco de dados e quando vou validar a senha que o usuário digitou tenho que usar o Decrypt64 para comparar com a senha que ele digitou.

Este procedimento tenho funcionando no Genexus 9 VFP WIN e agora estou passando para o Genexus EVL3, consigo gravar a senha encriptada mas na hora de voltar usando o Decrypt64 ele não funciona, volta um monte de caracter estranho.

Até atualizei o EVL3 para a U2 mas mesmo assim não funciona.

Existe uma outra maneira de fazer este procedimento no EVL3?

Ou é eu que não estou sabendo usar?

Muito obrigado pela atenção.

--
Você recebeu essa mensagem porque está inscrito no grupo "GUG - Grupo de Usuários GeneXus - São Paulo " dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para gug-saopaulo...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Bruno Tavares

unread,
Mar 4, 2015, 8:01:31 AM3/4/15
to gug-sa...@googlegroups.com
Eduardo,

Entendi, então, as boas práticas de programação segura nos diz que nunca devemos descriptografar senhas do banco de dados.

Vc pergunta, como fazer então?

A solução é vc pegar a senha informada pelo usuário e criptografá-la e aí sim fazer a comparação com a senha encriptada no banco de dados. Para isso funcionar, vc deve usar a mesma chave de criptografia que foi usada na senha que está encriptada no banco de dados.

Atenciosamente,
Bruno

Eduardo Gomes de Santana

unread,
Mar 4, 2015, 8:11:33 AM3/4/15
to gug-sa...@googlegroups.com
Obrigado Bruno, vou fazer uns testes por aqui.

Valeu mesmo
Reply all
Reply to author
Forward
0 new messages