Fórum criptografia de dados no delphi #346224
18/09/2007
0
Bom tô querendo saber como usar criptografia em minha aplicação delphi devido a parte de segurança.
então gostaria de saber se alguem utiliza algum tipo de criptografia em suas aplicações, e qual seria o tipo e se possivel algum exemplo de como utilizar em aplicações delphi, ou algum site onde tenha algo que eu possa ler.
Bom pessoal era isso, espero algumas respostas, pois sou um pouco novo nessa parte de criptografia de dados e estou querendo começar a desenvolver aplicações em camadas e para isso seria bom mandar os dados pela net criptografados. pelo acho que sim o que vcs acham?
Agradeço desde já :wink:
Alecsandro Moura
Curtir tópico
+ 0Posts
19/09/2007
Maikel
Segurança em sistemas é fundamental, posso te dar algumas dicas em relação, mas depende de qual é sua idéia e de como pretende usá-la. Se quiser controlar os usuários e a permissões de cada um deles no sistema, sugiro que de uma olhada no componente UserControl.
http://www.usercontrol.net
Também escrevi um artigo na edição 87 da clube delphi, onde mostro desde a instalação até o controle dos usuários.
Mas se você quiser encriptar textos e valores para passar por rede, pode utilizar outras funções de criptografia. Se procurar na internet, haverá varias opções, abaixo um exemplo:
function TForm1.Cripto(Action, Src, Key: WideString): WideString; var KeyLen : Integer; KeyPos : Integer; offset : Integer; dest : string; SrcPos : Integer; SrcAsc : Integer; TmpSrcAsc : Integer; Range : Integer; s : string[255]; c : array[0..255] of Byte absolute s; i: Integer; begin dest:=´´; KeyLen:=Length(Key); KeyPos:=0; SrcPos:=0; SrcAsc:=0; Range:=256; if Action = UpperCase(´E´) then begin Randomize; offset:=Random(Range); dest:=format(´¬1.2x´,[offset]); for SrcPos := 1 to Length(Src) do begin SrcAsc:=(Ord(Src[SrcPos]) + offset) MOD 255; if KeyPos < KeyLen then KeyPos:= KeyPos + 1 else KeyPos:=1; SrcAsc:= SrcAsc xor Ord(Key[KeyPos]); dest:=dest + format(´¬1.2x´,[SrcAsc]); offset:=SrcAsc; end; end; if Action = UpperCase(´D´) then begin offset:=StrToInt(´$´+ copy(src,1,2)); SrcPos:=3; repeat SrcAsc:=StrToInt(´$´+ copy(src,SrcPos,2)); if KeyPos < KeyLen Then KeyPos := KeyPos + 1 else KeyPos := 1; TmpSrcAsc := SrcAsc xor Ord(Key[KeyPos]); if TmpSrcAsc <= offset then TmpSrcAsc := 255 + TmpSrcAsc - offset else TmpSrcAsc := TmpSrcAsc - offset; dest := dest + chr(TmpSrcAsc); offset:=srcAsc; SrcPos:=SrcPos + 2; until SrcPos >= Length(Src); end; Cripto:=dest; end;
Nessa função, você irá passar a ação (E=Encriptar ou D=Descriptografar), o valor e a chave de criptografia que vc quer usar, essa chave pode ser qualquer texto, e a função retorna o valor.
Espero q te ajude, qualquer coisa,post ai.
Att
Gostei + 0
19/09/2007
Rjun
Gostei + 0
19/09/2007
Romulocpd
Gostei + 0
19/09/2007
Alecsandro Moura
Sera que tu pode me dar um exemplo de como fazer a encriptação e a descriptografia dos dados com essa função Crypto pois o tipo de criptografia que eu quero utilizar é quando os dados são enviados ao banco, já envialos criptografados e na busca descriptografar eles e se tiver algum link com o assunto para me passar agradeço!
Gostei + 0
19/09/2007
Maikel
Essa função crypto é bem simples de usar, para encriptar algum valor, use da seguinte maneira:
ShowMessage(Cripto(´E´,´VALOR PARA CRIPTOGRAFIA´,´CHAVE´))
Para descriptografar, troque o Action E por D, assim:
ShowMessage(Cripto(´D´,´VALOR PARA DESCRIPTOGRAFIA´,´CHAVE´))
Lembrando que nesses dois casos a chave utilizada deverá ser a mesma, defina uma chave para você e procure utilizar a mesma em todo o sistema.
Qualquer duvida... post ai.
Att
Gostei + 0
19/09/2007
Alecsandro Moura
Mais uma Duvida, sou assinante da revista clubeDelphi e recebi o exemplar de nº 87 que tem o artigo sobre o UserControl Tentei fazer os Paços dscritos na revista mas não obtive sucesso Utilizo o delphi 7 mas o código foi gerado no 2006 vc tem por um acaso um link com esse componente para delphi 7 ou tem ele compativel com o D7 para me enviar por e-mail?
se tiver meu email é:
alecsandro.moura@ibest.com.br
Vlw :wink:
Gostei + 0
19/09/2007
Alecsandro Moura
Obrigado Pelo Componente que vc me enviou, mas foi o mesmo que eu baixei do site e não tinha funcionado, mas isso acontecia pois tinha algumas coisas que só tinham no D 2006 dai é só ir dando um Build e caso der um erro é só comentar as linhas que derem os erros que dai funfa Blz :D
é isso Vlw :wink:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)