C语言键盘输入5个字母的明文,加密成密文输出。加密的方法是该字母的ASCII值加4.
时间: 2023-05-11 21:03:17 浏览: 308
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
char plaintext[6];
printf("请输入5个字母的明文:");
scanf("%s", plaintext);
for (int i = 0; i < 5; i++) {
plaintext[i] += 4;
}
printf("加密后的密文为:%s\n", plaintext);
return 0;
}
```
这段代码首先读入用户输入的明文,然后对每个字母的ASCII值加4,最后输出加密后的密文。注意,这里没有进行任何错误处理,比如输入的不是5个字母等情况,需要根据实际情况进行处理。
相关问题
如何用c语言解决对26个大写英文字母进行循环加密,输入一个大写英文字母(明文)和一个整数秘钥。输出用秘钥对该大写字母加密后的结果(密文)
在C语言中,你可以使用模运算(取余运算)来实现简单的字母循环加密。这里我们可以假设秘钥是一个介于0到25之间的整数,因为大写英文字母恰好对应ASCII码中的65到90。以下是基本的循环加密示例:
```c
#include <stdio.h>
#include <string.h>
char encrypt(char letter, int key) {
// 将字符转换成ASCII码值
int ascii = letter - 'A';
// 对ASCII码值加上秘钥并取模26,保持在大写英文字母范围内
int encrypted_ascii = (ascii + key) % 26;
// 将加密后的ASCII码值转换回大写字母
char encrypted_letter = 'A' + encrypted_ascii;
return encrypted_letter;
}
int main() {
char input;
printf("请输入一个大写英文字母:");
scanf("%c", &input);
int key;
printf("请输入一个整数秘钥:");
scanf("%d", &key);
char encrypted = encrypt(input, key);
printf("加密后的密文是:%c\n", encrypted);
return 0;
}
```
在这个例子中,`encrypt`函数实现了加密逻辑,`main`函数负责接收用户输入并显示结果。注意,这种方法相对简单,仅适用于学习和演示目的,实际应用中可能需要更复杂的密钥管理和加密算法。
编写一个数据加密程序,从键盘输入一个由字母、数字、空格组成的字符串,输出其所对应的密文。加密规则是:将字符串中每个字符的ASCII码值加100,并对加密的密文进行解密,C语言代码
可以使用如下代码实现上述功能:
```c
#include <stdio.h>
#include <string.h>
void encrypt(char *str);
void decrypt(char *str);
int main()
{
char str[100];
// 输入字符串
printf("请输入要加密的字符串:\n");
fgets(str, 100, stdin);
// 加密并输出密文
encrypt(str);
printf("加密后的字符串为:%s\n", str);
// 解密并输出明文
decrypt(str);
printf("解密后的字符串为:%s\n", str);
return 0;
}
// 加密函数
void encrypt(char *str)
{
int i;
for (i = 0; i < strlen(str); ++i)
{
if (str[i] != '\n')
{
str[i] += 100;
}
}
}
// 解密函数
void decrypt(char *str)
{
int i;
for (i = 0; i < strlen(str); ++i)
{
if (str[i] != '\n')
{
str[i] -= 100;
}
}
}
```
使用方法:编译并运行该程序,按照提示输入要加密的字符串,程序会输出加密后的密文和解密后的明文。其中加密函数 `encrypt()` 使用 ASCII 码值加 100 进行加密,解密函数 `decrypt()` 则使用 ASCII 码值减 100 进行解密。
阅读全文