c语言文本串的加密与解密代码
时间: 2023-12-23 09:03:30 浏览: 147
以下是一种简单的文本串加密解密代码,它使用了简单的移位密码。
加密代码:
```c
#include <stdio.h>
void encrypt(char* text, int shift) {
int i = 0;
char ch;
while (text[i] != '\0') {
ch = text[i];
if (ch >= 'a' && ch <= 'z') {
ch = (ch + shift - 'a') % 26 + 'a';
} else if (ch >= 'A' && ch <= 'Z') {
ch = (ch + shift - 'A') % 26 + 'A';
}
text[i] = ch;
i++;
}
}
int main() {
char text[100];
int shift;
printf("Enter a string: ");
fgets(text, 100, stdin);
printf("Enter shift amount (1-25): ");
scanf("%d", &shift);
encrypt(text, shift);
printf("Encrypted string: %s", text);
return 0;
}
```
解密代码:
```c
#include <stdio.h>
void decrypt(char* text, int shift) {
int i = 0;
char ch;
while (text[i] != '\0') {
ch = text[i];
if (ch >= 'a' && ch <= 'z') {
ch = (ch - shift - 'a' + 26) % 26 + 'a';
} else if (ch >= 'A' && ch <= 'Z') {
ch = (ch - shift - 'A' + 26) % 26 + 'A';
}
text[i] = ch;
i++;
}
}
int main() {
char text[100];
int shift;
printf("Enter a string: ");
fgets(text, 100, stdin);
printf("Enter shift amount (1-25): ");
scanf("%d", &shift);
decrypt(text, shift);
printf("Decrypted string: %s", text);
return 0;
}
```
注意:这种简单的移位密码不是非常安全,因为它可以通过暴力破解方式轻松破解。如果您需要更安全的加密算法,请使用更复杂的加密算法,例如AES或RSA。