帶星號的密碼輸入

2021-07-25 07:31:02 字數 886 閱讀 8536

在軟體開發中,往往會遇到要求使用者輸入密碼的情況。出於對密碼的保密,輸入的字元是不會顯示到螢幕上的。例如,在登入linux系統時,輸入使用者名稱後,輸入的密碼是不顯示的。可用getch()這個函式,但是在linux檔案下,此函式所在的標頭檔案為curses.h。

curses庫是由柏克萊大學的bill joy及ken arnold所開發的。當時開發curses庫的目的是為了解決程式對於不同終端的相容性。curses庫用於處理linux/unix上的游標移動及螢幕顯示問題。考慮到curses庫的複雜性,這裡只是簡單地介紹一下curses庫的使用。

使用curses庫中的函式前,需要進行必要的初始化工作。程式需要使用initscr函式來開啟curses模式,在結束前呼叫endwin函式來關閉curses模式。**如下:

#include

int main(int argc,char* argv)

在實際使用中,出於方便的目的,往往把一些初始化的動作放置在初始化函式中,以方便呼叫。具體**如下:

void initial()

#include#include#include#includevoid init()

int getpasswd(char *passwd,int size)

/*if( c == '\b')

*/

}

passwd[n] = '\0';

return n;

}int main()

但是這段程式是有問題的,只能輸入然後看到的是星號,但是按了後退鍵並沒有什麼反應,還有不能把輸入的函式的原型輸出來。。

Python實現星號遮掩的密碼輸入

def pwd input msg import msvcrt,sys if msg sys.stdout.write msg chars while true newchar msvcrt.getch if newchar in 3 r n 如果是換行,ctrl c,則輸入結束 print if ...

shell實現輸入密碼顯示星號

shell指令碼可以使用read s來預設禁止回顯輸入字元,這樣做一定程度上可以保證安全性。但這並不是乙個好的互動,因為對於輸入密碼並不能知道已經輸入了多少個字元。而使用 星號 來代替輸入的字元是乙個很不錯的想法,即保證安全又有好的互動性。程式的實現 首先要實現不顯示輸入字元,這個可以使用命令stt...

替換輸入的密碼為星號 C語言

include include getch define max pw len 16 密碼最大長度int main void 儲存使用者輸入的密碼 printf password getpassword storepassword,max pw len 獲取使用者輸入的密碼 printf nchec...