Neste caso, como vc já trabalha com a versão 5.2 do Clipper, estude à respeito da Lib Six. Me parece que ela faz isso de uma maneira bem simples.Será que existe alguma função que criptografe a base de dados inteira e "descriptografe" a base de dados inteira, também?
Criptografia
Moderador: Moderadores
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: CRIPTOGRAFIA
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Em rede só vai dar problema. Em monousuário até vai. Mas ainda assim, há um inconveniente: se o sistema decriptografar o arquivo, logicamente será em disco. Se depois desse processo o programa abortar por qualquer motivo, o arquivo ficará desprotegido. Não vale a pena. É melhor fazer isso "on-the-fly", campo a campo, apenas quando necessário.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: CRIPTOGRAFIA
Amiguinhos
Eu também procurei algo a respeito mas a maioria das funções são para uso mono e também usei minhas proprias funções de criptografia em campos que defino como de alta prioridade de salvaguarda.
A criptografia deverá ser efetuada numa primeira vez nos campos pre-definidos e somente descriptografados no momento de uma exibição, impressão, etc.
O que pega é se usarmos este método em campos indexados como, NOME, pois ai existe a necessidade de indexação do dados descriptografados para que no momento de pesquisa de um nome aqueles SSD975843HSSD6F7F dejam reconhecidos como ROCHINHA, por exemplo.
Como ja disseram, "on the fly" e "trabalhão" é a pura realidade.
Eu também procurei algo a respeito mas a maioria das funções são para uso mono e também usei minhas proprias funções de criptografia em campos que defino como de alta prioridade de salvaguarda.
A criptografia deverá ser efetuada numa primeira vez nos campos pre-definidos e somente descriptografados no momento de uma exibição, impressão, etc.
O que pega é se usarmos este método em campos indexados como, NOME, pois ai existe a necessidade de indexação do dados descriptografados para que no momento de pesquisa de um nome aqueles SSD975843HSSD6F7F dejam reconhecidos como ROCHINHA, por exemplo.
Como ja disseram, "on the fly" e "trabalhão" é a pura realidade.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Re: CRIPTOGRAFIA
O jeito é não criptografar campos que serão parte da chave de índice.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: CRIPTOGRAFIA
Amiguinho,
No meu caso preciso realmente criptografar alguns campos que fazem parte de chaves como NOME, ENDERECO e TELEFONE e descriptografar no momento de visualizar ou pesquisar.
Algo como:
Criptografar o campo NOME.
Indexar por este campo descriptografando no momento de enviar o comando de INDEXação.
Ao pesquisar passar o dado normalmente ja que a pesquisa ocorre primeiro no indice e depois aponta ao dbf.
Ao salvar sempre criptografar o conteudo antes.
Ao recuperar o dado para visualizar, alterar ou imprimir descriptografar.
Um processo tedioso pois é necessário cercar todos os pontos onde estes dados serão apresentados e modificados.
Comecei a testar esta implemntacao mas dei um tempo por falta do mesmo.
No caso utilizei uma função que implementei o método de Julio Cesar ou Cesar que consiste na troca de letras pela letra anterior ou posterior, que me corrijam de postei algo errado, mas postei um tópico extenso explanando estas técnicas aqui no forum. Ver este link
Primeiro criptografei em todo o DBF o campo NOME:
Depois promovi a indexacao pelo campo NOME usando o inverso:
Para pesquisar um determinado dado:
Neste caso não usei nenhuma função pois o dado passado e o dado que será encontrado no indice esta descriptografado e portanto a pesquisa se efetivará com exito.
Salvar o conteudo no campo do DBF ja criptografado:
Para recuperar o conteudo do campo para vizualizar, alterar etc:
E no browse colocar a chamada ao campo criptografado usando MinhaDecriptadora( M->NOME )
Fica ai o trabalho de verificar onde serão usados campos criptografados e usar as funções corretamente.
Vou usar este método em um módulo para testes e depois homologarei com o cliente o uso em outros módulos, inclusive farei alguns testes em campos com valores, para salvaguardar valores de produtos ou recebimentos.
A aplicabilidade de algo assim é mero segurança e não, um ponto de honra e vai depender do quanto se quer salvaguardar.
Ilustrando o post http://www.5volution.com.br/downloads/forum/crypto.zip
Dicas e sugestões serão benvindas.
No meu caso preciso realmente criptografar alguns campos que fazem parte de chaves como NOME, ENDERECO e TELEFONE e descriptografar no momento de visualizar ou pesquisar.
Algo como:
Criptografar o campo NOME.
Indexar por este campo descriptografando no momento de enviar o comando de INDEXação.
Ao pesquisar passar o dado normalmente ja que a pesquisa ocorre primeiro no indice e depois aponta ao dbf.
Ao salvar sempre criptografar o conteudo antes.
Ao recuperar o dado para visualizar, alterar ou imprimir descriptografar.
Um processo tedioso pois é necessário cercar todos os pontos onde estes dados serão apresentados e modificados.
Comecei a testar esta implemntacao mas dei um tempo por falta do mesmo.
No caso utilizei uma função que implementei o método de Julio Cesar ou Cesar que consiste na troca de letras pela letra anterior ou posterior, que me corrijam de postei algo errado, mas postei um tópico extenso explanando estas técnicas aqui no forum. Ver este link
Primeiro criptografei em todo o DBF o campo NOME:
Código: Selecionar todos
...
do while .not. eof()
dbRLock()
CLIENTES->NOME := MinhaEncriptadora( CLIENTES->NOME )
dbRUnLock()
dbCommit()
skip
enddo
...
Código: Selecionar todos
...
INDEX ON MinhaDecriptadora(NOME) TO CLIENTES
...
Código: Selecionar todos
...
dbSelectArea( nArea )
ordSetfocus( nOrdem )
dbSeek( cSeekFrase, lSoftSeek )
...
Salvar o conteudo no campo do DBF ja criptografado:
Código: Selecionar todos
...
CLIENTES->NOME := MinhaEncriptadora( M->NOME )
...
Código: Selecionar todos
...
M->NOME := MinhaDecriptadora( M->NOME )
...
Fica ai o trabalho de verificar onde serão usados campos criptografados e usar as funções corretamente.
Vou usar este método em um módulo para testes e depois homologarei com o cliente o uso em outros módulos, inclusive farei alguns testes em campos com valores, para salvaguardar valores de produtos ou recebimentos.
A aplicabilidade de algo assim é mero segurança e não, um ponto de honra e vai depender do quanto se quer salvaguardar.
Ilustrando o post http://www.5volution.com.br/downloads/forum/crypto.zip
Dicas e sugestões serão benvindas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
