c语言用ASCII码加密字符串
时间: 2024-12-25 15:28:18 浏览: 1
在C语言中,使用ASCII码对字符串进行加密可以是一种简单的替代方法,但这种加密方法并不安全,因为ASCII码本质上就是字符到整数的映射,容易被解密。下面是一个简单的示例,展示了如何将每个字符的ASCII值加上固定的偏移量,模拟加密过程:
```c
#include <stdio.h>
#include <string.h>
// 加密函数,使用ASCII码进行简单的位移操作
void encrypt_ascii(char* input, char* output, int shift) {
for (int i = 0; input[i] != '\0'; i++) {
output[i] = (input[i] + shift) % 128; // ASCII码范围是0-127,加偏移后取模防止溢出
if (output[i] > 'z') { // 如果加密后的字符超过'z'
output[i] -= 26; // 转回'a'的ASCII码范围内
}
}
output[i] = '\0'; // 结束符保持不变
}
int main() {
char plaintext[] = "Hello, World!";
char ciphertext[50];
// 使用默认偏移量,例如+10
encrypt_ascii(plaintext, ciphertext, 10);
printf("Original string: %s\n", plaintext);
printf("Encrypted string: %s\n", ciphertext);
return 0;
}
```
阅读全文