解決輸入密碼並判定真假的問題

2021-09-29 11:46:21 字數 1209 閱讀 2420

題目:

設定乙個密碼,如:char *password=」onlyyou」;

鍵盤輸入乙個字串行,如果輸入的字串行與password中儲存的密碼恰好相同,則輸出」」valid user」,否則輸出」invalid user」。

要求:在輸入密碼字串行的過程中,每輸入乙個字元,顯示星號」*」,不能顯示所輸入密碼字元的內容。

#include

#include

#include

#include

void

main()

}if(i <

16&&

isprint

(input)

)else

if(i >

0&& input ==

'\b')}

in_password[i]

='\0'

;//在儲存密碼字元的後面緊跟著輸入乙個'\0',停止識別

putchar

('\n');

printf

("您輸入的密碼為:%s\n\n"

, in_password)

;//輸出輸入的密碼 if(

!strcmp

(in_password, password)

)else

}

1.標頭檔案中的getch()是單純的接收輸入的字元,而不回顯(顯示在輸入框內),而printf,getchar都會回顯,所以為了在輸入密碼時只輸出星*,就利用這個函式。在輸入的時候,為了對每次輸入的字元進行判定,所以不直接輸入陣列,而是進行中間變數的設定。

2.在判定的過程中,分了2層,內層3部分,首先外層判斷是否輸入了回車鍵,如果不是,則進入內層判定,包括判定是否超出限定密碼位數是否正常輸入是否刪除已經輸入的密碼來修改密碼。其中用到了與『\r』(回車enter),』\b』(退格backspace)的比對。另外,在實現修改密碼的部分,利用了putchar()來實現退格——空白覆蓋——退格的過程從而實現刪除。而在輸入字串的最後,加上『\0』來完成輸入。

3.最後就是利用strcmp進行字串的比對,如果相同則結果為0,所以加上非運算子!來實現輸出。

mysql視窗輸入密碼後消失問題的解決

第一種情況 是密碼輸入錯誤,重新輸入密碼 第二種情況 是服務沒有開啟,可以用win r 彈出執行執行框,輸入services.msc 選擇mysql的服務啟動就可以用了。第三種情況 若是服務一直在正在啟動狀態,則需要在c windows system32目錄下,找到cmd.exe,以管理員的身份執行...

重啟機器解決SSL都要輸入密碼問題

在nginx或apache設定了ssl加密後,發現每次重啟伺服器後都要輸入證書設定的密碼,比較麻煩,不然nginx或apache無法使用,這時可以用私鑰來做這件事。生成乙個解密的key檔案,替代原來key檔案。openssl rsa in server.key out server.key.unse...

git push解決每次輸入賬號密碼問題

之前因為根據論壇上很多人所提供的方式,逐個的嘗試之後導致自己的進行上傳時總是會出現需要輸入使用者名稱和密碼,一開始自己也想過可能是大家所說道的關於ssh或者說是個人密匙的一些問題,但是發現那些方法對於一些比較新手的朋友來說,是較為不友好的,所以我也是將自己最後嘗試和了解到的這個方式分享給大家,以最簡...