Função simples de criptografia em um vetor
Publicado por Fabio Luiz Beraldo 02/05/2009
[ Hits: 25.889 ]
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
Criando usuários através de arquivo texto
Fazendo o somatório de 1 até N
Crud em C++ orientado a objetos com banco de dados MySQL
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Grub Customizer no Ubuntu 24.04
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Som continua saindo no auto-falante mesmo com headphone, como conserto... (4)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (39)