对输入的密码进行加密。 请从键盘输入一个8位密码。该密码可以包含空格键,但不能包含回车键。输入的密码必须包含大写字母、小写字母、数字和特殊符号。写个代码用C++
时间: 2023-05-28 13:05:05 浏览: 240
判断密码必须包括大小写字母,特殊字符,数字,长度8到16位
4星 · 用户满意度95%
#include <stdio.h>
#include <string.h>
int main() {
char password[9]; // 用来存储输入的密码
printf("请输入一个8位密码:");
scanf("%8s", password); // 限制输入的密码长度为8位
int len = strlen(password); // 获取密码的长度
// 判断是否包含大写字母、小写字母、数字和特殊符号
int has_uppercase = 0, has_lowercase = 0, has_number = 0, has_special = 0;
for (int i = 0; i < len; i++) {
if (password[i] >= 'A' && password[i] <= 'Z') {
has_uppercase = 1;
} else if (password[i] >= 'a' && password[i] <= 'z') {
has_lowercase = 1;
} else if (password[i] >= '0' && password[i] <= '9') {
has_number = 1;
} else {
has_special = 1;
}
}
// 如果不包含任意一种类型的字符,则输出错误信息
if (!(has_uppercase && has_lowercase && has_number && has_special)) {
printf("您输入的密码不符合要求!\n");
return 0;
}
// 对密码进行加密
for (int i = 0; i < len; i++) {
password[i] = password[i] + 3; // 将每个字符的ASCII码值加3
}
printf("加密后的密码为:%s\n", password);
return 0;
}
阅读全文