Pessoal,

Estou utilizando o banco de usu�rios de uma outra aplica��o por�m a 
senha � criptografada. Arrumei a fun��o que 
criptografa/descriptografa a senha mas estou tendo problemas ao 
tentar descriptografar a senha para dar acesso ao meu sistema.


Ser� que algu�m poderia me ajudar? Onde tenho que passar a senha 
para descriptografar e depois passar a senha para valida��o no 
banco??? J� tentei de v�rias formas e n�o consegui.


Tenho o seguinte:

************************************************************

ROTINA PARA CRIPTOGRAFAR/DESCRIPTOGRAFAR SENHA

Function TUtil.CRIPTO_SENHA(pTexto: string; const SENHA: string): 
string;
{ Criptografa a Senha}
var
  vCompr_Texto, vCompr_Senha: integer;
  vCont_Texto, vCont_Senha: integer;
  vInt_Texto, vInt_Senha, vInt_Result : integer;
  vResultado: string;
  vLetra : char;
  i: integer;
  begin
    {Inicializando as vari�veis}
    vCompr_Texto := Length(pTexto);
    vCompr_Senha := Length(SENHA);
    vCont_Senha := 1;
    vResultado := '';

    {Criptografando ou Decriptografando}
    for vCont_Texto := 1 to vCompr_Texto do
      begin
      vInt_Texto := Ord(pTexto[vCont_Texto]);
      i:=vCont_Texto;
         if i>vCompr_Senha then i:=vCompr_Senha;
      vInt_Senha := Ord(SENHA[i]);
      vInt_Result := vInt_Texto XOR vInt_Senha;
      vLetra := Chr(vInt_Result);
      vResultado := vResultado + vLetra;
      vCont_Senha := vCont_Senha + 1;
      if (vCont_Senha > vCompr_Senha) then
        begin
        vCont_Senha := 1;
        end;
      end;

    {Retornando um valor}
    CRIPTO_SENHA := vResultado;

  end;

************************************************************

TENHO QUE PASSAR AGORA PARA ESSAS ROTINAS A SENHA 



function TFrmPrincipal.fVerificaSenha(pUsuario, pSenha: String ) : 
boolean;
var
        sqlStr: String;
begin

        sqlStr := '';

        fVerificaSenha := false;

        if ( ( pUsuario = '' ) or ( pSenha = '' ) ) then
           exit;

        sqlStr := sqlStr + 'select * from USUARIO where 
USUARIO_SENHA = ';
        sqlStr := sqlStr + #39 + pSenha + #39;

        // Consulta tabela de usuarios
        DMSAV.qryAux.Close;
        DMSAV.qryAux.SQL.Clear;
        DMSAV.qryAux.SQL.Add( sqlStr );
        DMSAV.qryAux.Open;

        // Se achou
        if ( not DMSAV.qryAux.Eof ) then
           fVerificaSenha := true
        else
           fVerificaSenha := false; 
end;



---------------------------------------------------------------------
----



procedure TFrmPrincipal.edtSenhaChange(Sender: TObject);
var
    i: integer;
begin

    if (( EditNomeUsuario.Text     = '' )  or
         ( edtSenha.Text   = '' )) then
        exit;
                                     
     if ( fVerificaSenha( EditNomeUsuario.Text, edtSenha.Text ) ) 
then
     begin

        imgSinalVerde.Visible    := true;
        panSenha.Repaint;
        Sleep( 500 );


        pAcessaSistema( EditNomeUsuario.Text );

     end;





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que voc� faz do Yahoo! Grupos est� sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a