Ir para conteúdo
Fórum Script Brasil
  • 0

essa criptografia é segura ?


aalessandre

Pergunta

olá pessoal estou usando o codigo abaixo para criptografar arquivos, porem como não tenho tanta experiencia, não sei se esse codigo é realmente seguro, se é facil quebra-lo, gostaria de uma opinião de voces

procedure TfrmPrincipal.proEnDecryptFile1(arquivo : string);
var
  InMS, OutMS: TMemoryStream;
  I : Integer;
  C: byte;
  path :string;
  chave, constante : Int64;
begin
  chave := 951289643752110;
  constante := 9187236486;
  InMS := TMemoryStream.Create;
  OutMS := TMemoryStream.Create;
  path := arquivo;
  try
    InMS.LoadFromFile(path);
    InMS.Position := 0;
    for I := 0 to InMS.Size - 1 do
    begin
      InMS.Read(C, 1);
      C := (C xor not (ord(chave + constante shr I)));
      OutMS.Write(C, 1);
    end;
    OutMS.SaveToFile(path);
  finally
    InMS.Free;
    OutMS.Free;
  end;
end;

agradeço as respostas

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
olá pessoal estou usando o codigo abaixo para criptografar arquivos, porem como não tenho tanta experiencia, não sei se esse codigo é realmente seguro, se é facil quebra-lo, gostaria de uma opinião de voces

Para torna-la um pouco mais segura tente esta modificação. Usando dois edits voce voce digitar a palavra ou codigo que será a sua senha

procedure TForm1.proEnDecryptFile1(arquivo : string);
var
  InMS, OutMS: TMemoryStream;
  I : Integer;
  C: byte;
  path :string;
  chave, constante : Int64;
begin
  for i := 1 to Length(Edit1.Text) do
     begin
        chave := chave + StrBufSize(Pchar(Edit1.text));
        constante := constante + StrBufSize(Pchar(Edit2.text));
     end;

  InMS := TMemoryStream.Create;
  OutMS := TMemoryStream.Create;
  path := arquivo;
  try
    InMS.LoadFromFile(path);
    InMS.Position := 0;
    for I := 0 to InMS.Size - 1 do
    begin
      InMS.Read(C, 1);
      C := (C xor not (ord((chave + constante shl I) - (chave + constante shr I))));
      OutMS.Write(C, 1);
    end;
    OutMS.SaveToFile(path);
  finally
    InMS.Free;
    OutMS.Free;
  end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   proEnDecryptFile1('c:\TESTE.QRP');
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...