千家信息网

C语言中怎么 自定义获取密码强度

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,C语言中怎么 自定义获取密码强度,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一般注册时输入密码会有密码强度的判断,密码按字符类型、
千家信息网最后更新 2026年11月02日C语言中怎么 自定义获取密码强度

C语言中怎么 自定义获取密码强度,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一般注册时输入密码会有密码强度的判断,密码按字符类型、长度可以设定一般的规则来判断密码强度。

#include #include #define PASSWD_STRONG_MIN_LENGTH 10typedef enum {        PASSWORD_INVALID=0,        PASSWORD_WEAK,        PASSWORD_NORMAL,        PASSWORD_STRONG}PasswordStrength;PasswordStrength GetPasswordStrength(char *password){        if(password == NULL){                 return PASSWORD_INVALID;        }        int iSymbol=0,iNumber=0,iLetter=0;        int passwd_len=0;        char *pChar=password;        passwd_len = strlen(password);        if(passwd_len < 6){   /*密码字符数小于6不满足规则,无效密码*/                return PASSWORD_INVALID;        }        for(;*pChar != '\0';pChar++){                if(*pChar >= '0' && *pChar <= '9') iNumber++;                else if(*pChar >= 'A' && *pChar <= 'Z') iLetter++;                else if(*pChar >= 'a' && *pChar <= 'z') iLetter++;                else iSymbol++;        }        if((iLetter == 0 && iSymbol == 0) || (iNumber == 0 && iSymbol == 0) || (iLetter == 0 && iNumber ==0)){                 return PASSWORD_WEAK;/*密码只含有数字或只含有字母或只含有特殊字符,密码简单*/        }        if(iLetter == 0 || iNumber == 0 || iSymbol == 0){                return PASSWORD_NORMAL;/*两种组合,密码一般*/        }        if(passwd_len < PASSWD_STRONG_MIN_LENGTH){/**/                return PASSWORD_NORMAL;/*三种组合的密码长度小于10,密码一般*/        }        return PASSWORD_STRONG;/*三种组合,密码长度大于10*/}int main(){        char string[24];        while(1){                gets(string);                PasswordStrength ps;                ps = GetPasswordStrength(string);                printf("password strength is %d\n",ps);        }        return 0;}

关于C语言中怎么 自定义获取密码强度问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0