用C++语言举个加密解密的用例
时间: 2023-10-18 19:04:38 浏览: 38
好的,我明白了。以下是一个简单的用 C 语言实现的加密和解密例子:
```c
#include <stdio.h>
void encrypt(char *message, int key) {
char c;
while (*message) {
c = *message;
if (c >= 'a' && c <= 'z')
c = ((c - 'a') + key) % 26 + 'a';
else if (c >= 'A' && c <= 'Z')
c = ((c - 'A') + key) % 26 + 'A';
*message++ = c;
}
}
void decrypt(char *message, int key) {
char c;
while (*message) {
c = *message;
if (c >= 'a' && c <= 'z')
c = ((c - 'a') - key + 26) % 26 + 'a';
else if (c >= 'A' && c <= 'Z')
c = ((c - 'A') - key + 26) % 26 + 'A';
*message++ = c;
}
}
int main() {
char message[100];
int key;
printf("Enter a message to encrypt: ");
fgets(message, sizeof(message), stdin);
printf("Enter key: ");
scanf("%d", &key);
encrypt(message, key);
printf("Encrypted message: %s\n", message);
decrypt(message, key);
printf("Decrypted message: %s\n", message);
return 0;
}
```
这个程序会请求用户输入一条消息以及一个密钥,然后使用密钥将消息加密,并输出加密后的消息。然后再使用同样的密钥将加密后的消息解密,并输出解密后的消息。加密和解密都是基于移位密码(Caesar Cipher)实现的。