Galera alguém pode por favor me dar uma luz nesse algoritmo..
o problema que tenho é o seguinte; teoricamente a cifra funciona assim: C=(P+K)%26 Onde C é a mensagem criptografada, P texto plano, K a chave.
só que só funcionaria corretamente se as letras estivessem numeradas de 1-26, mas eu quero ler direto do arquivo, ou seja, as letras tem valores diferentes..
'a' = 97 por exemplo.
como devo proceder?
até agora tentei assim:
int main()
{
FILE *crip, *crip2;
char p, c, k[10];
int i=0;
crip=fopen("entrada.txt", "r");
crip2=fopen("saida.txt", "w");
if (crip!= NULL)
{
printf("\n\nPor favor digite chave de encriptacao: ");
gets(k);
while((p=fgetc(crip)) != EOF)
{
c=(p+k[i])-65;
fputc(c, crip2);
i+=1;
}
}
else
{
printf("Falha ao criar arquivo");
exit(1);
}
fclose(crip);
system("pause");
}
Pergunta
icemaster
Galera alguém pode por favor me dar uma luz nesse algoritmo..
o problema que tenho é o seguinte; teoricamente a cifra funciona assim: C=(P+K)%26 Onde C é a mensagem criptografada, P texto plano, K a chave.
só que só funcionaria corretamente se as letras estivessem numeradas de 1-26, mas eu quero ler direto do arquivo, ou seja, as letras tem valores diferentes..
'a' = 97 por exemplo.
como devo proceder?
até agora tentei assim:
sobre a cifra:
http://pt.wikipedia.org/wiki/Cifra_de_Vigen%C3%A8re
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.