C/C++如何使用密码输入而不回显--getch()函数
来源:互联网 发布:nba2k16捏脸数据大全 编辑:程序博客网 时间:2024/06/05 13:23
这是我在做课程设计时遇到的问题,如何在管理员进入系统时输入密码不会显示出来而泄露信息,这里使用到C语言函数库
#include <conio.h>
里面有一个输入函数 getch();这个函数跟getchar();功能几乎一样,不同点就是使用getch()输入字符时不会在控制台显示出来,所以正是利用这一点来隐藏密码的。
但要注意的是:它会吧键盘上所有按键都录入,包括撤销Backspace;而Backspace的ASIIC码值是8;所以只要加个判断即可解决!下面看代码:
printf("请输入管理员账号,密码:回车键结束\n");
printf("账号:");scanf("%s",id);
printf("密码:");
while((ch=getch())!='\r')
{
if(ch!=8)//不是回撤就录入
{
s[i]=ch;
putchar('*');//并且输出*号
i++;
}
else
{
putchar('\b');//这里是删除一个,我们通过输出回撤符 /b,回撤一格,
putchar(' ');//再显示空格符把刚才的*给盖住,
putchar('\b');//然后再 回撤一格等待录入。
i--;
}
}
password[i]='\0';
printf("%s",password);
if((!strcmp(s,PASSWORD))&&(!strcmp(id,ID)))
{//下面是系统内部
这是一个小技巧而已。觉得有点好玩,所以就写出来跟大家分享了。第一篇博客希望大家多多包涵。
0 0
- C/C++如何使用密码输入而不回显--getch()函数
- C/C++如何使用密码输入而不回显--getch()函数
- 输入密码不回显,但是linux C下无getch()
- C语言中getch()函数的使用
- getch.c
- C语言中的getch与putch函数
- 用getch仿真输入密码
- C语言使用getch()读取方向键
- C函数调用-不使用函数返回值,而用参数实现输入/输出的4种模式
- C语言-getch()
- linux--C--getch
- C语言getch();
- LINUX C实现密码输入不回显
- C函数printf中不能使用%lf,而用%f输出double,而函数scanf却必须用%lf来输入double
- 换个角度理解C语言getchar()、getch()、scanf()函数
- C语言实现输入密码
- C语言实现密码输入
- 用C语言输入密码
- 总结--正则表达式验证-显示数据
- 输出该文件的总行数、空行数、注释行数、代码行数
- java 第一次作业(修改版)
- linux上发邮件:mutt+msmtp
- Android之自定义Adapter的ListView
- C/C++如何使用密码输入而不回显--getch()函数
- RFS学习(记录遇到的问题)
- Java 中正确使用 hashCode 和 equals 方法
- 导入第三方类常遇见的小问题,所以大家要细心哦
- 如何使用人脸识别技术管理数据入口避免携程事件
- 浅谈SOA面向服务化编程架构(dubbo)
- Java线程问题
- 2.1-2
- VS2013配置OPENCV