GARANTIR DESCONTO

Fórum Como cripitografar o texto de um Edit antes de gravar ..... #150094

26/03/2003

0

Favor preciso cripitografar o que foi digitado em uma Edit antes de gravar na tabela. Obs uso Paradox.

Por favor me ajudem sou iniciante, sabem como é..

Desde já, obrigado.

Arlênio


Anonymous

Anonymous

Responder

Posts

26/03/2003

Carnette

[quote:c4ad2b3d6d=´Arlênio´]Favor preciso cripitografar o que foi digitado em uma Edit antes de gravar na tabela. Obs uso Paradox.

Por favor me ajudem sou iniciante, sabem como é..

Desde já, obrigado.

Arlênio[/quote:c4ad2b3d6d]

Aqui vai umas dicas tiradas do 750 Dicas e Truques em Delphi do LloydSoft

Encriptar/Desencriptar strings
Esta função permite encriptar e desencriptar strings. O código de encriptação é bastante simples, por isso pode ser melhorado, sendo este apenas um exemplo de como fazê-lo em Delphi.

function EnDecryptString(StrValue : String; Chave: Word) : String;
var
I: Integer;
OutValue : String;
begin
OutValue := ´´;
for I := 1 to Length(StrValue) do
OutValue := OutValue + char(Not(ord(StrValue[I])-Chave));
Result := OutValue;
end;
Exemplo de utilização:

Iniciar um novo projecto, copiar a função para uma unit, colocar três TEdit (Edit1, Edit2, Edit3) e dois TButton (Button1 e Button2) na form.

No evento OnClick do Button1 deve chamar a função, em que os parâmetros de entrada são o texto do Edit1 e uma chave de encriptação do tipo word.

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.text:=EnDecryptString(Edit1.text, 236);
end;
No evento OnClick do Button2 deve chamar a função EnDecryptString, em que os parâmetros de entrada são o texto encriptado do Edit2 a chave de encriptação usada para encriptar a string.

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit3.text:=EnDecryptString(Edit2.text, 236);
end;


2ª Dica
Função para criptografar uma String
A função Criptografia pode ser usada para criptografar a senha acesso ao sistema. Ela é usada nos dois sentidos, para criptografar e descriptografar, desde que seja usada a mesma chave nas duas operações. ´mStr´ é a String que vai ser criptografada e ´mChave´ é a String que sera usada como base para fazer a criptografia.

function Criptografia(mStr, mChave: string): string;
var
i, TamanhoString, pos, PosLetra, TamanhoChave: Integer;
begin
Result := mStr;
TamanhoString := Length(mStr);
TamanhoChave := Length(mChave);
for i := 1 to TamanhoString do
begin
pos := (i mod TamanhoChave);
if pos = 0 then
pos := TamanhoChave;
posLetra := ord(Result[i]) xor ord(mChave[pos]);
if posLetra = 0 then
posLetra := ord(Result[i]);
Result[i] := chr(posLetra);
end;
end;
3ª Dica
Encripitando uma string
program Crypt;
uses WinCRT;
const
C1 = 52845;
C2 = 22719;
function Encrypt(const S: string; Key: Word): string;
var
I: byte;
begin
Result[0] := S[0];
for I := 1 to Length(S) do
begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(Result[I]) + Key) * C1 + C2;
end;
end;
function Decrypt(const S: string; Key: Word): string;
var
I: byte;
begin
Result[0] := S[0];
for I := 1 to Length(S) do
begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(S[I]) + Key) * C1 + C2;
end;
end;
var
S: string;
begin
Write(´>´);
ReadLn(S);
S := Encrypt(S, 12345);
WriteLn(S);
S := Decrypt(S, 12345);
WriteLn(S);
end.

Encripitando uma string (2)
function Encrypt( Senha:String ): String;
Const
Chave : String = ´Jesus´;
Var
x,y : Integer;
NovaSenha : String;
begin
for x := 1 to Length( Chave ) do
begin
NovaSenha := ´´;
for y := 1 to Length( Senha ) do
NovaSenha := NovaSenha + chr( (Ord(Chave[x]) xor Ord(Senha[y])));
Senha := NovaSenha;
end;
result := Senha;
end;


Responder

Gostei + 0

26/09/2003

Odirlei

2ª Dica
Função para criptografar uma String
A função Criptografia pode ser usada para criptografar a senha acesso ao sistema. Ela é usada nos dois sentidos, para criptografar e descriptografar, desde que seja usada a mesma chave nas duas operações. ´mStr´ é a String que vai ser criptografada e ´mChave´ é a String que sera usada como base para fazer a criptografia.

function Criptografia(mStr, mChave: string): string;
var
i, TamanhoString, pos, PosLetra, TamanhoChave: Integer;
begin
Result := mStr;
TamanhoString := Length(mStr);
TamanhoChave := Length(mChave);
for i := 1 to TamanhoString do
begin
pos := (i mod TamanhoChave);
if pos = 0 then
pos := TamanhoChave;
posLetra := ord(Result[i]) xor ord(mChave[pos]);
if posLetra = 0 then
posLetra := ord(Result[i]);
Result[i] := chr(posLetra);
end;
end;

Olá Pessoal,

estou usando em um programa meu o exemplo citado acima. O meu programa funciona assim:

O texto é armazenado em campo Memo, depois ele é encriptado e gravado em um arquivo texto. Depois este arquivo é lido por outro programa e na hora de desencriptar o texto fica assim:


[Delphi 6 - loiras [Running]

ZP

Algumas partes são desencriptadas corretamente e outras não. Estou usando a mesma função nos dois programas com a mesma chave.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar