判断密码是否合法的C语言程序

来源:这里教程网 时间:2026-02-16 13:52:21 作者:

判断密码是否合法的C语言程序

在日常生活中,密码的安全性越来越受到重视。为了保护个人隐私和账户安全,人们经常会要求设置复杂的密码。在这个示例中,我们将编写一个C语言程序来检查用户设置的密码是否合法。

密码合法性规则

一个合法的密码通常需要包含字母、数字和其他字符,且长度在一定范围内。常见的密码安全规则包括:

密码长度通常需要在8至16个字符之间必须包含至少一个大写字母、一个小写字母和一个数字可以包含的特殊字符有限,例如:!@#$%^&*()

根据以上规则,我们将在程序中实现密码合法性的检查。

编写C语言程序

#include <stdio.h>#include <string.h>#include <ctype.h>int checkPassword(char *password) {    int length = strlen(password);    int hasUpper = 0;    int hasLower = 0;    int hasDigit = 0;    int i;    // 检查密码长度    if (length < 8 || length > 16) {        return 0;    }    // 检查密码字符组成    for (i = 0; i < length; i++) {        if (isupper(password[i])) {            hasUpper = 1;        } else if (islower(password[i])) {            hasLower = 1;        } else if (isdigit(password[i])) {            hasDigit = 1;        } else if (!(password[i] == '!' || password[i] == '@' || password[i] == '#' ||                     password[i] == '$' || password[i] == '%' || password[i] == '^' ||                     password[i] == '&' || password[i] == '*')) {            return 0;        }    }    // 检查是否包含所需字符    if (!(hasUpper && hasLower && hasDigit)) {        return 0;    }    return 1;}int main() {    char password[20];    printf("请输入密码:");    scanf("%s", password);    if (checkPassword(password)) {        printf("密码合法!\n");    } else {        printf("密码不合法!\n");    }    return 0;}

在上面的程序中,我们首先定义了一个checkPassword函数来检查密码的合法性。在main函数中,我们接收用户输入的密码,并将其传递给checkPassword函数进行检查。如果密码符合规则,则打印出“密码合法!”,否则打印出“密码不合法!”。

运行结果示例

请输入密码:Abc123@密码合法!

在这个示例中,用户输入了一个符合规则的密码“Abc123@”,程序检查密码合法后打印出了相应的提示信息。

通过这个示例,我们可以看到如何使用C语言来检查密码的合法性,帮助保护个人信息和账户安全。

相关推荐