c语言写一个能实现加密的小程序
时间: 2024-10-13 13:14:18 浏览: 22
在C语言中编写一个简单的加密小程序通常会涉及基本的替换密码或位操作。这里我将展示一个使用凯撒密码(Caesar Cipher)的简单示例,这是一种古老的加密技术,通过字母表中的固定偏移量来加密文本。
```c
#include <stdio.h>
#include <string.h>
// 加密函数
char encrypt(char c, int shift) {
if (c >= 'a' && c <= 'z') {
return ((c - 'a' + shift) % 26) + 'a';
} else if (c >= 'A' && c <= 'Z') {
return ((c - 'A' + shift) % 26) + 'A';
}
return c; // 对非字母字符不做处理
}
// 主函数
void caesar_cipher_encrypt(const char *plaintext, char *ciphertext, int shift) {
for (int i = 0; plaintext[i] != '\0'; i++) {
ciphertext[i] = encrypt(plaintext[i], shift);
}
ciphertext[i] = '\0'; // 结束字符串
}
int main() {
const char *plain_text = "Hello, World!";
char encrypted_text[100];
int shift_amount = 3; // 加密偏移
caesar_cipher_encrypt(plain_text, encrypted_text, shift_amount);
printf("Original text: %s\n", plain_text);
printf("Encrypted text: %s\n", encrypted_text);
return 0;
}
```
在这个程序中,`encrypt` 函数负责对每个字符进行加密,`caesar_cipher_encrypt` 函数则是整体加密过程的核心。用户可以修改 `shift_amount` 来改变加密强度。
阅读全文