-
Notifications
You must be signed in to change notification settings - Fork 0
/
funcoes.c
78 lines (67 loc) · 2.37 KB
/
funcoes.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
void rotina();
FILE * openFile(int operacao, char url[]);
void closeFile(FILE* arquivo);
void insert(long long int dado,long long int hash,long long msgCifrada, long long d, long long int n, char url[]);
void insertNumero(long long num, char url[]);
void read(long long int *dado,long long int *hash,long long *msgCifrada, long long *d, long long int *n, char url[]);
void readNumero(char url[], long long int *num);
// RODA O ALGORITMO EM PYTHON QUE CALCULA O SHA224.
void rotina(){
char comando[]="python SHA224.py";
system(comando);
}
// FUNÇÃO PARA ABRIR UM ARQUIVO E DEPENDENDO DA NUMERAÇÃO FAZ OU ABRIR PARA ESCRITA OU PARA LEITURA
FILE * openFile(int operacao, char url[]){
FILE* arquivo;
if(operacao==1){
// SOBRESCREVER O ARQUIVO
arquivo = fopen(url,"w");
}else{
// LER O ARQUIVO
arquivo = fopen(url,"r");
}
// CASO O ARQUIVO NÃO POSSA SER ABERTO
if(arquivo==NULL){
printf("%s\n",url);
printf("Nao foi possivel abrir o arquivo\n");
exit(0);
}
return arquivo;
}
// FUNÇÃO PARA FECHAR O ARQUIVO ABERTO
void closeFile(FILE* arquivo){
fclose(arquivo);
}
// FUNÇÃO PARA INSERIR HASH, MENSAGEM CIFRADA O VALOR D O VALOR N E A URL DO ARQUIVO
void insert(long long int dado,long long int hash,long long msgCifrada, long long d, long long int n, char url[]){
FILE* arquivo = openFile(1,url);
fprintf(arquivo,"%lld %lld %lld %lld %lld",dado,hash,msgCifrada,d,n);
closeFile(arquivo);
}
void insertNumero(long long num, char url[]){
FILE* arquivo = openFile(1,url);
fprintf(arquivo,"%lld",num);
//printf("insertNumero[URL] %s\n",url);
//printf("insertNumero[num] %lld\n",num);
closeFile(arquivo);
}
// FUNÇÃO PARA LER O HASH, MENSAGEM CIFRADA O VALOR D O VALOR N
void read(long long int *dado,long long int *hash,long long *msgCifrada, long long *d, long long int *n, char url[]){
FILE* arquivo = openFile(2,url);
while((fscanf(arquivo,"%lld %lld %lld %lld %lld\n",dado,hash, msgCifrada,d,n))!=EOF ){
}
//printf("[Na hora da LEITURA] %lld\n",*d);
closeFile(arquivo);
}
// FUNÇÃO QUE LER E RETORNA O NUMERO QUE ESTÁ EM UM ARQUIVO
void readNumero(char url[], long long int *num){
FILE* arquivo = openFile(2,url);
while((fscanf(arquivo,"%lld\n",num))!= EOF){}
//printf("readNumero[URL] %s \n",url);
//printf("readNumero[num] %lld \n",num);
closeFile(arquivo);
}