Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Renanbg

[Resolvido] Criptografar

Recommended Posts

Preciso criptografar um campo senha

 

Tenho no meu cadastro de funcionarios o campo senha em base de dados paradox com delphi 6

 

Um cara mais esperto pode ir até a tabela e ver a senha, por isso queria criptografar esse campo

 

Dei uma pesquisada e achei umas funções mas não consegui adaptar

 

segue uma que achei

 

Function Criptografia(mStr, mChave: string): string;vari, TamanhoString, pos, PosLetra, TamanhoChave: Integer;beginResult := mStr;TamanhoString := length(mStr);TamanhoChave := length(mChave);for i := 1 to TamanhoString dobeginpos := (i mod TamanhoChave);if pos = 0 thenpos := TamanhoChave;posLetra := ord(Result[i]) xor ord(mChave[pos]);if posLetra = 0 thenposLetra := ord(Result[i]);Result[i] := chr(posLetra);end; end;

e outra

 

Funcao para criptografar e descriptografar um string.Quando você informa uma String Normal ela retornara a mesmacriptografada e quando você informa uma String criptografadaele retorna a string original.Bom para guardar dados que não podem ser identificados em Tabelas.(*Função CriptografarCodifica e descodifica um string ( Seguranca )Parametros Tipo ObjetivowStri String Especificar o string a ser codificadoRetorno String O string codificado ou descodificado*)function Criptografar(wStri: String): String;var Simbolos : array [0..4] of String;x : Integer;beginSimbolos[1]:='ABCDEFGHIJLMNOPQRSTUVXZYWK ~!@#$%^&*()\';Simbolos[2]:='ÂÀ©Øû׃çêùÿ5Üø£úñѪº¿®¬¼ëèïÙýÄÅÉæÆôöò»Á';Simbolos[3]:='abcdefghijlmnopqrstuvxzywk1234567890';Simbolos[4]:='áâäàåíóÇü龶§÷ÎÏ-+ÌÓ߸°¨·¹³²Õµþîì¡«½';for x := 1 to Length(Trim(wStri)) do beginif pos(copy(wStri,x,1),Simbolos[1])>0 thenResult := Result+copy(Simbolos[2],pos(copy(wStri,x,1),Simbolos[1]),1)else if pos(copy(wStri,x,1),Simbolos[2])>0 thenResult := Result+copy(Simbolos[1],pos(copy(wStri,x,1),Simbolos[2]),1)else if pos(copy(wStri,x,1),Simbolos[3])>0 thenResult := Result+copy(Simbolos[4],pos(copy(wStri,x,1),Simbolos[3]),1)else if pos(copy(wStri,x,1),Simbolos[4])>0 thenResult := Result+copy(Simbolos[3],pos(copy(wStri,x,1),Simbolos[4]),1);end;end;

Como uso elas?

 

Alguem conhece uma forma melhor de fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não copiei e colei, li o codigo e não consegui aplicar por ser a primeira vez que estou fazendoEntão peguei ele e trouxe para cá juntamente com a explicação pois na explicação diz que ele serve para criptografar e descriptografar uma string

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser algo mais forte de criptografia, pode usar o MD5, veja neste post -> http://forum.imasters.com.br/index.php?showtopic=227890

Grande marcio sempre com a resposta na ponta da linguaEssa dica que você me passou é maravilhosa, agora só tenho duvidas de como usar ele no sistemaEu gravo o campo senha usando essa unit MD5?Pq no meu sistema uso 6 caracteres para senha e dessa forma vai dar erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, teria de salvar usando MD5, ele vai gerar uma string maior e é essa que precisa guardar, e ainda quando o usuário for se logar, precisa pegar a senha que ele digitou, usando o MD5 e comparar com a do BD, pois a criptografia MD5 não tem como ser quebrada, ou seja, depois de gerada não tem como descobrir o que é...Então, terá de criptografar o que o usuário digitar e comparar com o BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere a propriedade PasswordChar do edit para *

Marinheiro de primeira viagem é bravo rsrsrsrsrsrsrs, algo tão simples parece uma bola de neve gigantesca huahuahua... valeu a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.