2014-02-11 274 views
-2

我被竊聽,因爲現在我在C.C密碼驗證?

賺了一小密碼驗證的事情的情況下

  1. 它應該有進入至少8個字符
  2. 它應該有至少1個號碼
  3. 它應該至少有1個大寫/小寫字母。

例如: 如果規則不遵守它會顯示

輸入您的密碼:doratheexplorer

NOT A GOOD PASSWORD 
NO DIGIT 
NO UPPERCASE LETTER 

其他 繼續

我怎麼會做這樣的事?我需要使用string.h嗎?

+0

訪問[幫助中心](http://stackoverflow.com/help)並查看__如何詢問___。 – devnull

+0

@Ink家庭作業應該由你自己完成... – akp

+0

@ink美好的一天給你..沒有爲任何人做作業。請嘗試一下你自己的東西,如果你在那裏得到一些問題,那麼在這裏爲你再次粘糊糊的一天:) –

回答

2

假設您的密碼存儲在名爲password的字符數組中。然後,您可以執行驗證,如下所示,其中包括string.h:

int digitflag=0; 
int upperflag=0; 
int lowerflag=0; 
int i; 
if(strlen(password)<8) 
{ 
printf("Length is less than 8"); 
} 
else 
{ 
    for(i=0;i<strlen(password);i++) 
     { 
      if(isdigit(password[i])) 
      digitflag=1; 
      if(isupper(password[i])) 
      upperflag=1; 
      if(islower(password[i])) 
      lowerflag=1; 
     } 
     if(digitflag==0) 
     printf("No digits"); 
     if(upperflag==0) 
     printf("No Upper Case Letters"); 
     if(lowerflag==0) 
     printf("No Lower Case Letters"); 
} 
1

首先,你應該檢查密碼的長度,如果它小於8,那麼你可以給出一個錯誤信息。而對於數字,大寫和小寫字符,你可以使用單獨的標誌,然後你必須閱讀每個字符集適當標誌。讀完所有字符後,可以檢查是否設置了所有標誌並採取適當的措施。

+0

的確非常謹慎的回答! :) – Jazz