最近在開發一個項目中對一些命令行進行隱藏,不提供給用戶,所以就給一些進入命令行之前加上密碼,用到函數getpass函數,
因此今天來簡單總結一下這個函數:
getpass函數:讀入用戶在終端上鍵入的口令,此函數由login和crypt程序調用。爲了讀口令,該函數必須禁止會送,
但仍可使用終端以規範的方式工作,因爲用戶在鍵入口令後,一定要鍵入回車,這樣也構成一個完整的行。
函數原型:
char *getpass( const char *prompt);
函數返回輸入的字符串
prompt是回顯到屏幕上,一般是提示用戶輸入;
舉一個簡單例子:
#include<stdio.h> #include<unistd.h> char *g_pStaticPw = "666666"; int main() { char *pw; pw = getpass("input password:"); while( ( strlen(g_pStaticPw) != strlen(pw) ) || \ ( 0 != memcmp(g_pStaticPw,pw,strlen(g_pStaticPw)) ) ) { printf("oh no password error!!!\n"); pw = getpass("input password again:"); } printf("welcome !!!!\n"); return 0; }
運行結果