当前位置: 首页 > news >正文

全国工程建设信息网站2003怎么建设网站空间

全国工程建设信息网站,2003怎么建设网站空间,企业展示网站建设,wordpress 新文章订阅Linux系统中#xff0c;如何将在终端输入密码时将密码隐藏#xff1f; 最近做简单的登录界面时#xff0c;不做任何操作的话#xff0c;在终端输入密码的同时也会显示输入的密码是什么#xff0c;这样对于隐蔽性和使用都有不好的体验。那么我就想到将密码用字符*隐藏起来…Linux系统中如何将在终端输入密码时将密码隐藏 最近做简单的登录界面时不做任何操作的话在终端输入密码的同时也会显示输入的密码是什么这样对于隐蔽性和使用都有不好的体验。那么我就想到将密码用字符*隐藏起来这样看起来才像一个完整的登录界面。 当然使用QT做登录界面隐藏密码就没有这么麻烦在本文中仅作为乐趣供读者参考。 1. 首先来看看实现效果是怎么样的 在该程序中我输入了密码是123456它在输入的同时也将密码用星号*代替了密码也不会丢失仍然保存在数组中所以第二行就能完整显示密码。 2. 实现分析 实现隐藏密码的方法就两个过程。第一使自己在终端输入的字符不显示第二在终端上同步输入星号*。在终端上输入等量的星号*并不难但是我们要同时让自己在键盘上输入的字符不显示在终端上那么如何让自己输入的字符不显示在终端上也能存入内存中呢我们需要禁用回显和行缓冲。 回显使键盘输入的字符立即显示到终端上行缓冲使输入的数据存储到缓冲区中直到用户输入回车键后才会被传递给程序。这意味着在输入密码时密码会被暂时存储在缓冲区中可能会被其他程序截获。禁用行缓冲模式可以避免密码被截获。 3. 函数介绍 经过上述的分析接下来介绍一个函数来实现上述的要求。 头文件 #include termios.h 该头文件定义了一个termios结构体可以使用tcgetattr和tcsetattr函数来获取和设置终端属性。通过设置终端的输入模式可以实现在输入密码时用星号代替。 禁用回显和行缓冲的代码演示 // 禁用终端回显和行缓冲struct termios old_term, new_term;tcgetattr(STDIN_FILENO, old_term); // 获取当前终端属性存储到old_term中new_term old_term;new_term.c_lflag ~(ECHO | ICANON); // 禁用回显和行缓冲两个属性tcsetattr(STDIN_FILENO, TCSANOW, new_term); 先定义两个结构体分别代表两种模式。使用tcgetattr函数获取当前属性以保证可以回到旧属性。赋值将新属性中的回显和行缓冲两个属性禁用ECHO表示是否回显输入字符ICANON表示是否启用行缓冲模式。使用tcsetattr函数使用新属性TCSANOW参数表示立即生效。 在4中(ECHO | ICANON)表示将ECHO和ICANON标志位置反即将它们的值从1变为0再使用运算符将new_term.c_lflag中的ECHO和ICANON标志位设置为0而保留其他标志位的值不变。 这样就实现了在键盘上输入但不显示到终端的方法。 4. 输入星号* while((ch getchar()) ! \n i MAX) {pwd[i] ch;printf(*);} 每读取一个字符都会输出一个星号*保证了星号和键盘输入同步进行。 5. 完整代码 #include stdio.h #include termios.h #include unistd.h#define MAX 20int main(void) {char pwd[MAX1];int i 0;char ch;// 禁用终端回显和行缓冲struct termios old_term, new_term;tcgetattr(STDIN_FILENO, old_term);new_term old_term;new_term.c_lflag ~(ECHO | ICANON); // 禁用回显和行缓冲两个属性tcsetattr(STDIN_FILENO, TCSANOW, new_term);printf(Enter password : );while((ch getchar()) ! \n i MAX) {pwd[i] ch;printf(*);}pwd[i] \0;printf(\nYour password is %s\n, pwd);// 恢复终端属性tcsetattr(STDIN_FILENO, TCSANOW,old_term);return 0; }
http://www.ho-use.cn/article/10822004.html

相关文章:

  • 山东平台网站建设公司运营企业网站怎么赚钱
  • 做竞拍网站北京爱空间装修公司
  • 网站需求分析与设计方案关键词优化怎么弄
  • 虚拟主机网站建设步骤?个人网站有哪些平台
  • 武山县建设局网站郑州房产网
  • 本地做网站绑定域名网上设计网站
  • 校园网站建设培训稿免费个人网站平台
  • 用帝国软件做网站的心得广西网络电视
  • 护肤品主题网站怎么做wordpress主题图标乱码
  • 南联网站建设公司制作书签图片大全简单漂亮
  • 对于网站链接优化有哪些建议做图文链接网站
  • 高端网站建设 源码长沙建设网站企业
  • 如何在vps上建设网站企业网站设计网
  • 网上哪个网站教做西点太原哪个网站制作最好用
  • 三亚网站外包美工做网站尺寸多少钱
  • 长沙h5手机网站制作如何利用谷歌云做自己的网站
  • 怎么用阿里云服务器做网站潍坊网站优化公司
  • 免费个人网站怎么制作哈尔滨建站服务网站开发
  • 仁怀哪儿做网站互联网推广员是做什么的
  • 贵州企业网站建设策划开发网站可用性监控
  • 海口网站运营托管报价wordpress 获取文章摘要
  • 网站建设与维护是做什么网站建设分金手指科捷13
  • 宁波市住房与城乡建设部网站湖南郴州市
  • flash源码网站投资公司收到分红要交什么税
  • 哈尔滨自助板建站大学生做简历的网站
  • 织梦做双语版网站网站建设中行为的名词解释
  • 鞍山网站2024年还会封城吗
  • 什么值得买 网站开发域名有wordpress
  • 网站建设特效素材科技有限公司的名称应该怎么取名
  • 驻马店手机网站制作刚刚合肥最新通告