Jump to content
Fórum Script Brasil
  • 0

Criptografar arquivo


General Shepherd

Question

Eae galera, o negócio é o seguinte, eu estou fazendo um trabalho para a faculdade e, em um dado momento, eu crio um arquivo com alguns dados do programa, mas eu não quero q o usuário possa alterar esse arquivo a não ser q o faça através do programa. Mas o problema é q se o usuario abrir o arquivo com o bloco de notas por exemplo, ele verá todo o conteúdo do mesmo, o que eu não quero q aconteça. Há alguma maneira de não permitir q o usuário abra o arquivo, ou, se abrir, não mostre os caracteres claramente? Tentei gravar no arquivo em binário, mas mesmo assim os caracteres ainda aparecem...

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Usa a função fwrite()!

O que acontece: As funções de escrita (com exceção da fwrite), são para escrever textos. Por isso o bloco de notas entende normalmente com exceção dos caracteres '\n' e '\ 0' caso grave em arquivo binário.

A função fwrite é específica para gravar em arquivo binário. Ela pode gravar qualquer tipo de variável no arquivo, só que apenas o seu programa conseguirá ler o aqruivo.

Uso da fwrite():

size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
ptr=ponteiro da variavel ou nome do vetor. size=tamanho da variavel (use a funcao sizeof(nome_da_variavel) para saber o tamanho) count=numero de registros que serão gravados (Somente para guardar várias structs) stream=arquivo (ponteiro) Ex...(Retirado do site www.cplusplus.com):
#include <stdio.h>

int main ()
{
  FILE * pFile;
  char buffer[] = { 'x' , 'y' , 'z' };
  pFile = fopen ( "myfile.bin" , "wb" );
  fwrite (buffer , 1 , sizeof(buffer) , pFile );
  fclose (pFile);
  return 0;
}

Para ler o dado do arquivo, use fread() (tem o mesmo protótipo da fwrite, só que faz o inverso).

Espero ter ajudado!

Edited by bruce845
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...