Criptografia de strings

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (308 palavras )
  • Download(s) : 0
  • Publicado : 20 de junho de 2012
Ler documento completo
Amostra do texto
Criptografia de strings

#include "stdafx.h"
#include <string.h>

void leitura(char string[])
{
printf("Digite frase: ");
gets(string);
}

bool criptografa(char string[], charsenha[])
{
char cript[40];
int j, i, k;
char chave = 'C';

if(string[0] == '╗')
return false;

cript[0] = '╗'; // caracter 187 da ASCII

k = 1;
for (i = 0; senha[i] != '\0'; i++) //criptografa a senha
{
cript[k] = senha[i] ^ chave;
chave += 2;
k++;
}

cript[k] = '╗';
k++;

j = 0;
for (i = 0; string[i] != '\0'; i++) // criptografa o string
{
cript[k]= string[i] ^ senha[j];
j++;
if (senha[j] == '\0')
j = 0;
k++;
}

cript[k] = '\0';
strcpy(string,cript);
return true;
}

bool descriptografa(char string[], char senha[])
{char cript[40];
int j, i, k;
char chave = 'C';

if(string[0] != '╗')
return false;

k = 0;
for (i = 1; string[i] != '╗'; i++) // descriptografa a senha
{
cript[k] = string[i] ^chave;
chave += 2;
k++;
}

cript[k] = '\0';

if (strcmp(senha,cript) != 0) // senha nao confere
return false;

i++;

j = 0;
k = 0;
for (; string[i] != '\0'; i++) //criptografa o string
{
cript[k] = string[i] ^ senha[j];
j++;
if (senha[j] == '\0')
j = 0;
k++;
}

cript[k] = '\0';
strcpy(string,cript);
return true;
}

void main(){
charnome[40];
char senha[20];

char op;
do{
puts("1 Digitar");
puts("2 Criptografa");
puts("3 Descriptografa");
puts("4 Mostra");
puts("5 Sair");

do{
printf("Digite opcao: ");op = getchar();
fflush(stdin);
}while (op!='1' && op!='2' && op!='3' && op!='4'&& op!='5');

switch(op){
case '1':
leitura(nome);
break;
case'2':
printf("Digite sua Senha: ");
gets(senha);
if (!criptografa(nome, senha))
printf("Essa frase ja esta criptografada\n");
break;
case '3':
printf("Digite sua Senha:...
tracking img