Criptografia
Segue algumas funções para você criptografar suas senhas.
Descrição
Segue algumas funções para você criptografar suas senhas.
/***********************************************/
/* Função p/ criptografar e grava a senha */
/***********************************************/
void GravarSenha(char *senha)
{
int i;
int tamanhoSenha;
char c;
char senhaCriptografada[50];
arqSenha= fopen("Pilha-Senha-Config.txt","w");
tamanhoSenha= strlen(senha);
for (i=0; i < tamanhoSenha; i++)
{
c= senha[i];
// Criptografia: inverte ordem e soma uma constante qualquer ao carac
c= c+20;
push(c);
}
for (i=0; i < tamanhoSenha; i++)
{
c= pop();
senhaCriptografada[i]= c;
}
senhaCriptografada[i]= '\0';
////printf("Senha Criptografada= %s \n",senhaCriptografada);
fputs(senhaCriptografada, arqSenha);
fclose(arqSenha);
}
/***********************************************/
/* Função p/ verificar se a senha esta correta */
/***********************************************/
int VerificarSenha(char *senha)
{
int i;
int tamanhoSenha;
char c;
char senhaCriptografada[50];
char senhaArmazenada[50];
arqSenha= fopen("Pilha-Senha-Config.txt","r");
tamanhoSenha= strlen(senha);
if (tamanhoSenha=0);
{
return 0;
}
for (i=0; i < tamanhoSenha; i++)
{
c= senha[i];
// Criptografia: inverte ordem e soma uma constante qualquer ao carac
c= c+20;
push(c);
}
for (i=0; i < tamanhoSenha; i++)
{
c= pop();
senhaCriptografada[i]= c;
}
senhaCriptografada[i]= '\0';
fgets(senhaArmazenada, (tamanhoSenha+1), arqSenha);
fclose(arqSenha);
if (strcmp(senhaCriptografada, senhaArmazenada) == 0)
{
return 1;
}
else
{
return 0;
}
}
/******************************************************************/
/* Função que chama a função p/ verificar se a senha esta correta */
/******************************************************************/
char senha[50];
// Verificar senha - caso incorreta, encerrar execução:
printf("Digite a senha p/ usar o programa: ");
fgets(senha,50,stdin);
permissao= 0;
permissao= VerificarSenha(senha);
if (permissao == 0)
{
printf("Senha Invalida - digite qualquer tecla para encerrar \n");
getch();
return 0;
}
printf("Deseja Modificar a Senha (S/N) --> ");
modificar= getch();
if (toupper(modificar) == 'S')
{
getchar();
printf("Digite a NOVA senha: ");
fgets(senha,50,stdin);
GravarSenha(senha);
printf("\n Nova senha gravada c/ sucesso \n \n");
}
--------------------------------------------------------------------------------------------------------------------------------------------------
gabriell@linuxsurf:~/scripts/C$ gcc Criptografia.c
Criptografia.c: In function `GravarSenha':
Criptografia.c:12: error: `arqSenha' undeclared (first use in this function)
Criptografia.c:12: error: (Each undeclared identifier is reported only once
Criptografia.c:12: error: for each function it appears in.)
Criptografia.c: In function `VerificarSenha':
Criptografia.c:54: error: `arqSenha' undeclared (first use in this function)
Criptografia.c: At top level:
Criptografia.c:105: error: parse error before string constant
Criptografia.c:105: warning: conflicting types for built-in function `printf'
Criptografia.c:105: warning: data definition has no type or storage class
Criptografia.c:106: error: parse error before numeric constant
Criptografia.c:106: warning: data definition has no type or storage class
Criptografia.c:108: warning: data definition has no type or storage class
Criptografia.c:109: error: redefinition of `permissao'
Criptografia.c:108: error: `permissao' previously defined here
Criptografia.c:109: error: initializer element is not constant
Criptografia.c:109: warning: data definition has no type or storage class
Criptografia.c:110: error: parse error before "if"
Criptografia.c:113: warning: data definition has no type or storage class
Criptografia.c:114: error: parse error before "return"
Criptografia.c:117: error: parse error before string constant
Criptografia.c:117: warning: data definition has no type or storage class
Criptografia.c:118: error: initializer element is not constant
Criptografia.c:118: warning: data definition has no type or storage class
Criptografia.c:119: error: parse error before "if"
Criptografia.c:122: error: parse error before string constant
Criptografia.c:122: warning: data definition has no type or storage class
Criptografia.c:123: error: parse error before numeric constant
Criptografia.c:123: warning: data definition has no type or storage class
Criptografia.c:124: warning: parameter names (without types) in function declara
tion
Criptografia.c:124: error: conflicting types for `GravarSenha'
Criptografia.c:6: error: previous declaration of `GravarSenha'
Criptografia.c:124: warning: data definition has no type or storage class
Criptografia.c:125: error: parse error before string constant
Criptografia.c:125: warning: data definition has no type or storage class
Criptografia.c:126:7: warning: no newline at end of file
--------------------------------------------------------------------------------------------------------------------------------------------------