Fórum Trabalhando com senhas criptografadas. Alguém sabe? #188529
14/10/2003
0
é o seguinte: estou trabalhando em um sistema que possui um form de login antes do principal. Gostaria de saber como eu faço para que ao digitar a senha no edit esta apareça criptografada ou com os asteriscos. Eu tenho um exemplo de criptografia mas o texto é digitado num edit e exibido em outro, eu queria fazer em apenas um. Alguém pode ajudar? Caso possa auxiliar vai aí o código do meu exemplo:
Criptografa o texto em um edit e exibe o resultado em outro
procedure TForm1.Button1Click(Sender: TObject);
var tp, tc : string;
chave : byte;
i : integer;
begin
tc:=EmptyStr;
tp := edtCesarTp.Text;
chave := byte(strtoint(edtCesarCH.Text)); // {Nessa parte eu posso colocar a chave num edit pro usuário escolher ou posso por no código chave := byte(número); sem precisar do edit}
for i:=1 to length(tp) do
begin
tc := tc + chr( ord( tp [i] ) + chave );
end;
edtCesarTc.Text := tc;
end;
Se alguém aí puder ajudar agradeço. Muito obrigado.
Elias Jr
Curtir tópico
+ 0Posts
14/10/2003
Luis.soft
Caro Amigo, se compreendi corretamente sua pergunta, para que vc coloque os Asteriscos quando for digitada uma senha em um Edit, selecione o edit, e localize a propriedade ´PassChar´. O padrão do Delphi é 0#. Basta colocar * nesta propriedade que cada caractere digitado será substituído por este caracter, ou outro que deseje.
Espero ter ajudado !
Luis Henrique
Analista Desenvolvimento Sistemas
Gostei + 0
14/10/2003
Elias Jr
Saudações Luis,
olha a sua dica ajudou e muito(não sei porque raios não olhei essa propriedade), só que ele acusa como se a senha fosse diferente da que a gente registrou...é o seguinte eu pus uma rotina que se a senha fosse igual a da tabela o form principal abriria e, senão, uma mensagem de erro apareceria ams ele está fazendo ao contrário. Pode me dar uma dica? Valeu
Gostei + 0
14/10/2003
Elias Jr
Gostei + 0
14/10/2003
Lbsystems
Crie uma nova unit e chame de: unit func.pas
Nessa unit você escreve o código abaixo:
unit UnitFunc.;
interface
function Codificar (Armazena: string; Chave: integer): string;
function Decodificar (Armazena: string; Chave: integer): string;
implementation
function Codificar (Armazena: string; Chave: integer): string;
var
Resultado: String;
Temporario: char;
I, CodificaIndex: integer;
begin
Resultado := ´´;
Temporario := ´ ´ ; // Tem que ter um espaço,porque a
// Variável é do tipo Char.
for I := 1 to Length(Armazena) do
begin
for CodificaIndex := 1 to Chave do
begin
Temporario := Succ (Armazena[I]);
Armazena[I] := Temporario;
end;
Resultado := Resultado + Temporario;
end;
Codificar := Resultado;
end;
//////////////////////////////////////////////////////////////
//////////////////// Função Decodificar///////////////////////
function Decodificar (Armazena: string; Chave: integer): string;
var
Resultado: String;
Temporario: char;
I, DecodificaIndex: integer;
begin
Resultado := ´´;
Temporario := ´ ´ ;
for I := 1 to length(Armazena) do
begin
for DecodificaIndex := 1 to Chave do
begin
Temporario := Pred (Armazena[I]);
Armazena[I] := Temporario;
end;
Resultado := Resultado + Temporario;
end;
Decodificar := Resultado;
end;
end.
___________________________________________________________
Na unit1, inclua a unitFunc na cláusula Uses...
Um abraçao
Leo.
Gostei + 0
15/10/2003
Elias Jr
esse exemplo que você me passou serve para apenas um edit? Tipo logo ao se digitar no edit já sai o resultado criptografado? Por que este é o meu problema...se vc puder me ajudar te agradeço...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)