Função simples de criptografia em um vetor
Publicado por Fabio Luiz Beraldo 02/05/2009
[ Hits: 26.276 ]
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
Vírus didático para Linux em C
Sequência fibonacci com 35 linhas e for
Determinando a posicão de ocorrencia de uma string em outra
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









