-
Notifications
You must be signed in to change notification settings - Fork 0
/
cifra_de_cesar2.cpp
51 lines (43 loc) · 1.14 KB
/
cifra_de_cesar2.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ql 94
// Função para criptografar a mensagem usando a cifra de César
void cripto(char msg[], int chave)
{
for (int i = 0; i < strlen(msg)-1; i++)
{
msg[i] = '!' + (msg[i] - '!' + chave) % ql;
}
}
// Função para descriptografar a mensagem usando a cifra de César
void descripto(char msg[], int chave)
{
cripto(msg, ql - chave);
// A decifração é simplesmente a cifra com a chave complementar
}
main()
{
char msg[1000];
int op, chave;
printf("\nDigite a mensagem: ");
fgets(msg,sizeof(msg),stdin);
printf("\n\n1. Criptografar");
printf("\n2. Descriptografar\n-> ");
scanf("%d",&op);
printf("\nDigite a chave: ");
scanf("%d",&chave);
switch(op)
{
case 1:
cripto(msg,chave);
printf("\nMensagem criptografada: %s\n", msg);
break;
case 2:
descripto(msg,chave);
printf("\nMensagem descriptografada: %s\n", msg);
break;
default:
printf("\nOpção inválida!\n");
}
}