溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中怎么 自定義獲取密碼強度

發布時間:2021-07-02 16:33:42 來源:億速云 閱讀:262 作者:Leah 欄目:互聯網科技

C語言中怎么 自定義獲取密碼強度,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

一般注冊時輸入密碼會有密碼強度的判斷,密碼按字符類型、長度可以設定一般的規則來判斷密碼強度。

#include <stdio.h>
#include <string.h>

#define PASSWD_STRONG_MIN_LENGTH 10
typedef 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語言中怎么 自定義獲取密碼強度問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女