edos83 0 Denunciar post Postado Setembro 7, 2011 Olá pessoal sou novo aqui no fórum. Gostaria de saber se vocês podem estar me ajudando. Tenho um trabalho da faculdade para fazer, que é criptografa um texto qualquer ou uma frase, estou no primeiro semestre de analise e desenvolvimento de sistema, tenho pouco conhecimento e apenas uma pessoa do meu grupo saber programar em linguagem C. Gostaria de aprende mais sobre este assunto, bom tenho que criar um sistema que criptografe, mas tem q ser em liguagem C. ja procurei muito sobre este assunto na net, perguntei para amigos,mas não entendi muito. Uma colega meu me falou que eu posso usar o quadrados magicos para criar uma tabela de valor para cada caracter... mas não tenho a mínima noção como faça isso em C... Poderia me passa alguns exemplos, não precisa se somente da forma q meu colega me informou... Agradeço muito se alguém me ajudasse... Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Alano 0 Denunciar post Postado Setembro 8, 2011 Cara, você simplesmente pode criar um valor seed (padrão) e transformar um carácter de uma string em um número através de type cast. Então multiplicaria este carácter pelo seed, e obteria um valor numeral. Isso é uma criptografia, porém, muito simples de ser descriptografada. Uma criptografia "de verdade" geralmente manipula bits, usando operadores bit wise. Vou demonstrar a criptografia que disse para você fazer (modelo não completo e nem testado): #include <stdio.h> int main ( void ) { char *str = "Exemplo de Texto"; int seed = 153; int valorCriptrografado = 0; int temp = 0; for (int contador = 0; contador < (sizeof(str) / sizeof(char)); contador++) { temp = 0; temp = (int) str[contador]; temp = temp * seed; valorCriptografado += temp; } } Com certeza, esse modelo possui vários erros e haverá vários erros lógicos. Por exemplo, o valorCriptografado irá possuir um valor inteiro no final da criptografia, que será o (valor da letra * seed) e sendo assim, "Exemplo de Texto" = "Texto Exemplo de". Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Setembro 8, 2011 Cuidado com o uso do sizeof. 'str' é de tipo (char *), portanto sizeof str == sizeof (char *), que é diferente do número de elementos no array para o primeiro elemento do qual str aponta. Se o algoritmo depende de que o resultado disso seja 17, ele está errado. Outra coisa: sizeof (char) == 1, sempre, e não é preciso fazer casting quando se atribui valor de tipo (char) a objeto de tipo (int) ;) Compartilhar este post Link para o post Compartilhar em outros sites