6-18 电码加密 分数 10 作者 余贞侠 单位 成都信息工程大学 为防止信息窃取,需要采用加密技术将电文加密变成密文。恺撒密码是一种简单的替换加密技术,其规则是将明文中的所有字母都在字母表上偏移offset位后被替换成密文:当offset大于零时,表示向后偏移;当offset小于零时,表示向前偏移。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,调用函数fun()后用凯撒密码将其加密后输出。 函数接口定义: void fun ( char *Pstr, const
时间: 2023-06-11 14:08:29 浏览: 251
成都信息工程大学804-气象探测原理2021年考研专业课初试大纲.pdf
char *Pstr, const int offset) {
int len = strlen(Pstr);
for(int i = 0; i < len; i++) {
if(isalpha(Pstr[i])) { // 判断是否为字母
if(isupper(Pstr[i])) { // 判断是否为大写字母
Pstr[i] = (Pstr[i] - 'A' + offset + 26) % 26 + 'A'; // 加密
} else {
Pstr[i] = (Pstr[i] - 'a' + offset + 26) % 26 + 'a'; // 加密
}
}
}
printf("%s", Pstr); // 输出加密后的字符串
}
阅读全文