Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edos83

Criptografia em Linguagem C

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.