Ir para conteúdo
Fórum Script Brasil
  • 0

Cifra viginere


icemaster

Pergunta

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");
}

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...