none
C# Criptográfia RRS feed

  • Pergunta

  • Olá gente estou com uma duvida e gostaria de ajuda, no exercício proposto era para fazer um programa que convertesse um texto digitado em um outro texto confuso (um tipo de criptografia) o auxilio dos professores foi de tratar individualmente cada caractere do alfabeto e inverter manualmente até ai tudo bem, mas na hora de fazer a conversão isso é feito em apenas uma letra e não em uma palavra ou frase!

    Exemplo:
    Entrada:
    o
    saida
    L

    só converte uma letra se for digitado uma palavra a mesma é repetida, podem me ajudar?

                string[] txt = new string[26], alfa = new string[26];
                string[] txt_user = new string[1];
                
                    Console.Write("Digite o texto a ser criptografado: ");
                    txt_user[0] = Console.ReadLine();
                
                alfa[0] = "a";
                alfa[1] = "b";
                alfa[2] = "c";
                alfa[3] = "d";
                alfa[4] = "e";
                alfa[5] = "f";
                alfa[6] = "g";
                alfa[7] = "h";
                alfa[8] = "i";
                alfa[9] = "j";
                alfa[10] = "k";
                alfa[11] = "l";
                alfa[12] = "m";
                alfa[13] = "n";
                alfa[14] = "o";
                alfa[15] = "p";
                alfa[16] = "q";
                alfa[17] = "r";
                alfa[18] = "s";
                alfa[19] = "t";
                alfa[20] = "u";
                alfa[21] = "v";
                alfa[22] = "w";
                alfa[23] = "x";
                alfa[24] = "y";
                alfa[25] = "z";
    
                txt[25] = alfa[0];
                txt[24] = alfa[1];
                txt[23] = alfa[2];
                txt[22] = alfa[3];
                txt[21] = alfa[4];
                txt[20] = alfa[5];
                txt[19] = alfa[6];
                txt[18] = alfa[7];
                txt[17] = alfa[8];
                txt[16] = alfa[9];
                txt[15] = alfa[10];
                txt[14] = alfa[11];
                txt[13] = alfa[12];
                txt[0] = alfa[13];
                txt[1] = alfa[14];
                txt[2] = alfa[15];
                txt[3] = alfa[16];
                txt[4] = alfa[17];
                txt[5] = alfa[18];
                txt[6] = alfa[19];
                txt[7] = alfa[20];
                txt[8] = alfa[21];
                txt[9] = alfa[22];
                txt[10] = alfa[23];
                txt[11] = alfa[24];
                txt[12] = alfa[25];
                
    
                for (int x = 0; x < 26; x++)
                {
                    if (txt_user[0] == alfa[x])
                    {
                        txt_user[0] = txt[x];
                    }
                }
                Console.WriteLine("Texto convertido para: "+txt_user[0]);
    Obs: Sou novato!

    quarta-feira, 9 de outubro de 2013 17:21

Respostas

  • Boa Tarde Brian, tudo bem, você pode usar desta forma que irá lhe ajudar muito

     Console.WriteLine("Digite o nome a Ser Criptografado");
                string valorinicial =Console.ReadLine();


                string resultado = "";

                char[] array = valorinicial.ToCharArray();


                Array.Reverse(array);

                for (int i = 0; i < array.Length; i++)
                {
                    resultado = resultado + array[i];
                }

                Console.Write(resultado.ToString());
                Console.ReadKey();

    Se a Resposta foi útil, por favor marque como válida assim esta contribuindo para gratificar todo o esforço de nossos colegas, Abraço.


    Paulo Caleffi

    quarta-feira, 9 de outubro de 2013 17:40

Todas as Respostas

  • Boa Tarde Brian, tudo bem, você pode usar desta forma que irá lhe ajudar muito

     Console.WriteLine("Digite o nome a Ser Criptografado");
                string valorinicial =Console.ReadLine();


                string resultado = "";

                char[] array = valorinicial.ToCharArray();


                Array.Reverse(array);

                for (int i = 0; i < array.Length; i++)
                {
                    resultado = resultado + array[i];
                }

                Console.Write(resultado.ToString());
                Console.ReadKey();

    Se a Resposta foi útil, por favor marque como válida assim esta contribuindo para gratificar todo o esforço de nossos colegas, Abraço.


    Paulo Caleffi

    quarta-feira, 9 de outubro de 2013 17:40
  • Opa, obrigado mas ainda não é o proposto no exercício o que você me passou é muito interessante mas o desafio que foi proposto é de entrar com qualquer palavra e sair uma complemente diferente!

    Entrada:
    Bom Dia

    Saída:
    Out key

    É um exemplo bem banal esse que eu citei acima mas é este resultado que estou buscando, mas agradeço sua colaboração para poder me ajudar! 
    quarta-feira, 9 de outubro de 2013 17:47