Bom, não entendo de Banco de Dados não, é só uma idéia (isso se vc sabe o que vai conter este campo), você pode mudar associando cada palavra por um código numérico, por exemplo: os estados brasileiros, então, cada um você insere no banco um código qualquer. Eu faço isso! Se são dados desconhecidos acho pouco provável existir, uma vez que a criptografia sempre aumenta a quantidade de caracteres, a não ser daquele tipo que ele muda as letras (embaralha) de acordo com uma key.
Luis Hilário Tobler Garcia escreveu: > > Aproveitando o assunto de encriptação, > eu estou usando uma função para encriptar alguns dados que são > armazenados em meu banco de dados interbase, o que eu não achei, foi > uma função que encriptasse e mantesse a string final do mesmo tamanho > que a string original, tive que chutar um número de espaços adicionais > para meus campos, para tentar acabar com os erros gerados ao exceder o > tamanhos dos mesmos. Será que alguém já resolveu esse problema? > > Valeu, Hilário. > > ----- Original Message ----- > From: felipe govoni > To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Sent: Tuesday, July 01, 2008 4:39 PM > Subject: [delphi-br] dll - access violation > > boa tarde galera > > estou tentando criar uma dll pra criptografar dados > mas quando tento compilar o projeto q chama essa dll da um erro de acces > violation > ja coloquei a dll na pasta do projeto e mesmo assim nao fuinciona. > > o codigo da dll: > > function ValorAsc(Letra: String): Byte; > begin > if Length(letra) > 0 then ValorAsc := Ord(Letra[1]) else ValorAsc := 0; > end; > > function Cripto(Texto: String): String; export; stdcall; > var > Cont, Cod: Integer; > Retorna: String; > begin > for Cont := 1 to Length(Texto) do begin > Cod := ValorAsc(Copy(Texto, Cont, 1)); > Retorna := Retorna + Chr(Cod + 57(*valor a ser adicionado - pode ser > modificado*)); > end; > Cripto := Retorna; > end; > > e o codigo q chama a dll > > function cripto(texto :string):string;external 'cript.dll'; > > procedure TfrmNovo.BitBtn1Click(Sender: TObject); > var > nome: string; > Arquivo: TextFile; > begin > nome := 'C:\finalcard\data\cadpers.prs'; > > AssignFile(Arquivo, nome); > > if FileExists(nome) then > Append(arquivo) { se existir, apenas adiciona linhas } > else > ReWrite(arquivo); { cria um novo se não existir } > try > WriteLn(arquivo, cripto(edit1.Text)); > WriteLn(arquivo, formatdatetime('dd-mm-yyyy',now)); > WriteLn(arquivo, '-------'); > finally > CloseFile(arquivo) > end; > > alguem sabe oq pode ser? > > -- > Felipe Govoni > --------------------- > Programador > Fone 8472-8718 > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > >