Criptografia de Cesar
Publicado por Perfil removido (última atualização em 20/01/2010)
[ Hits: 15.264 ]
Bem, estava lendo um artigo do Prof. Elgio aqui no VOL que tem como título: "Introdução a Criptografia". Para quem quiser conferir: http://www.vivaolinux.com.br/artigo/Introducao-a-criptografia/
Nele vi uma simples criptografia que é chamada de "Cifra de César". Resolvi botar a mesma em prática. Segue o script.
Abraço.
// cripto_cesar.c
//
// Copyright 2010 Orlando Xavier <ox@orlandoxavier.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
// MA 02110-1301, USA.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void encrypt(void);
void uncrypt(void);
void lowercase(char string[]);
void clear(void) { system("clear"); }
void getch(void) { system("read key"); }
int main(int argc, char** argv) {
int menu = 0;
do {
printf("\n\nEnter para Continuar: \n");
getch();
clear();
printf("+----------------------------+\n");
printf("|;.<<,y7= Cesar-Crypto +;-,~^|\n");
printf("+--------------+-------------+\n");
printf("|&.6,+---------+--------+`~{,|\n");
printf("|*[3,| (1) - Encrypt |,.çz|\n");
printf("|;5m.+---------+--------+[k/;|\n");
printf("|,'.;+---------+--------+.7.,|\n");
printf("|}1>i| (2) - uncrypt |'^,>|\n");
printf("|^f,;+---------+--------+,j.'|\n");
printf("|&];.+---------+--------+x~};|\n");
printf("|.4-a| (3) - Exit |'.,!|\n");
printf("+----+------------------+----+\n");
printf("Escolha uma opcao: ");
scanf("%d",&menu);
switch (menu) {
case 1:
encrypt();
break;
case 2:
uncrypt();
break;
}
} while (menu != 3);
return(0);
}
void encrypt(void) {
char string[255];
int i = 0;
clear();
printf("Entre com a palavra: ");
gets(string);
gets(string);
lowercase(string);
for (; string[i] != '{FONTE}'; i++) {
if (string[i] == 'z')
string[i] = 'c';
else if (string[i] == 'y')
string[i] = 'b';
else if (string[i] == 'x')
string[i] = 'a';
else
string[i] = string[i] + 3;
}
printf("Resultado >> ");
for (i = 0; string[i] != '{FONTE}'; i++) {
printf("%c",string[i]);
}
}
void uncrypt(void) {
char string[255];
int i = 0;
clear();
printf("Entre com a sequencia: ");
gets(string);
gets(string);
lowercase(string);
for (; string[i] != '{FONTE}'; i++) {
if (string[i] == 'c')
string[i] = 'z';
else if (string[i] == 'b')
string[i] = 'y';
else if (string[i] == 'a')
string[i] = 'x';
else
string[i] = string[i] - 3;
}
printf("Resultado >> ");
for (i = 0; string[i] != '{FONTE}'; i++) {
printf("%c",string[i]);
}
}
void lowercase(char string[])
{
int i = 0;
while (string[i]) {
string[i] = tolower(string[i]);
i++;
}
return;
}
Controle de tráfego aéreo - filas dinâmicas
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)









