Função simples de criptografia em um vetor
Publicado por Fabio Luiz Beraldo 02/05/2009
[ Hits: 26.152 ]
Download Criptografia em vetor.zip
Este programa lê um vetor, e dois parâmetros de um algoritmo de criptografia extremamente simples; criptografa o vetor e exibe o resultado na tela.
/* ##################################### #Desenvolvido por Fábio Luiz Beraldo# #By The_fabio # ##################################### Software muito simples que aplica aos elementos de um vetor um algoritmo de encriptação extremamente simples e depois mostra a string na tela. Este programa ilustra um exemplo de passagem por referencia em funções e é totalmente comentado, para que outros aprendizes possam entendê-lo. Sugestões, correções reclamações para o e-mail thefabioluiz@bol.com.br */ #include <stdio.h> #include <stdlib.h> /*A função abaixo recebe o endereço do primeiro elemento do vetor string, dois números usados como parâmetro do algoritmo e o tamanho do vetor, que é usado para verificação de índice, que evita que o laço for escreva em areas impróprias da memória*/ void encrypt (char *car_corrente,int num_key,int sub_key,int tamanho_vetor) { for (int cont=0;cont!=tamanho_vetor;cont++)//Laço principal: inicializa um contador e o declara com 0, verifica se o contador chegou ao último elemento do vetor, se não incrementa o contador { *car_corrente=(*car_corrente^num_key)-sub_key;/*Aqui entra a encriptação: para o elemento corrente do ponteiro *car_corrente, é feita uma operação XOR bit-a-bit com a variável num_key e o caractere corrente, seguida de uma subtração com a variável sub_key*/ car_corrente++;//Depois disso, o ponteiro é incrementado e passa a apontar para o próximo caractere do vetor } } int main () { char string[256];//Inicializa o vetor a ser criptografado int tam_string;//Armazena o tamanho efetivamente ocupado do vetor int num_key;//Parametro do algoritmo de criptografia int sub_key; printf ("Software de encriptação simples\n"); printf ("Digite a string a ser criptografada:\n"); scanf ("%s",&string); printf ("\nDigite a num_key:"); scanf ("%d",&num_key); printf ("\nDigite a sub_key:"); scanf ("%d",&sub_key); for (int contador=0;string[contador]!='{FONTE}';contador++)/*Este laço varre o vetor até achar o terminador nulo e declara a variável tam_string com o número de caracteres varridos antes de tal caractere*/ { tam_string=contador; } encrypt (&string[0],num_key,sub_key,tam_string);//Aqui os parâmetros lidos antes são passados a função encrypt printf ("Heis a string criptografada:"); tam_string++;/*Aqui tam_string é incrementada por que senão no laço a seguir o último caractere não seria exibido, por que o programa usa tam_string como condição de parada e o valor 0 encerra o laço, não exibindo o último caractere (o primeiro indice de um vetor é 0)*/ for (int contador=0;tam_string!=0;tam_string--,contador++) { printf ("%c",string[contador]); } printf ("\n"); system ("pause");//O software é pausado return (0);//Fim } //The_fabio: Mais um enterno aprendiz neste mundo de informação
Alocando espaço para uma matriz dinamicamente
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)