Bootstrap

python如何使输入密码时变为星号_C语言模拟密码输入(显示星号) 原创

本节涉及到的部分知识在后续章节才会讲到,如果您是初学者,请阅读完入门教程再来回顾本节。

一个安全的程序在用户输入密码时不应该显示密码本身,而应该回显星号或者点号,例如 ······****** ,这在网页、PC软件、ATM机、POS机上经常看到。但是C语言没有提供类似的功能,控制台上只能原样显示用户输入的字符。我们完全可以模拟密码输入的效果,请先看下面的代码:
#include #include #include #define PWDLEN 20void getpwd(char *pwd, int pwdlen);int main(){
        char pwd[PWDLEN+1];    printf("Input password: ");    getpwd(pwd, PWDLEN);    printf("The password is: %s\n", pwd);    return 0;}/*** 获取用户输入的密码* @param  pwd     char*  保存密码的内存的首地址* @param  pwdlen  int    密码的最大长度**/void getpwd(char *pwd, int pwdlen){
        char ch = 0;    int i = 0;    while(i        ch = getch();        if(ch == '\r'){  //回车结束输入            printf("\n");            break;        }        
;