C 程序实现密码隐秘输入 linux系统可执行

Posted xiaobingzzh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 程序实现密码隐秘输入 linux系统可执行相关的知识,希望对你有一定的参考价值。

读写用户输入,屏幕不回显

char *getpass( const char *prompt);

getpass用于从键盘读取用户输入,但屏幕不回显。

参数prompt为屏幕提示字符。

函数返回值为用户键盘输入的字符串。

屏幕不回显指的是,用户输入的内容,不会显示任何提示信息,就是在Linux中切换用户时,输入密码不现实一样。

程序如下:

 
 1     #include <stdio.h>  
 2     #include <unistd.h>  
 3       
 4     int main(int argc, char *args[])  
 5     {  
 6         // 调用getpass函数  
 7         // 函数的参数是提示信息  
 8         // 函数的返回值是用户输入的内容  
 9         char *password = getpass("Input your password : ");  
10         // 输出用户输入的信息  
11         printf("password = %s\n", password);  
12         return 0;  
13     }  
14 
15  

 

编译并执行程序

  1. [[email protected] mycode]$ gcc -o main main.c  
  2. [[email protected] mycode]$ ./main  
  3. Input your password :                           ------------这里输入内容不会回显  
  4. password = 123456 

以上是关于C 程序实现密码隐秘输入 linux系统可执行的主要内容,如果未能解决你的问题,请参考以下文章

Linux调用可执行程序

初识shell

在linux中如何编译C程序,使之成为可执行文件?如何调试?

Linux下运行C语言程序

linux在终端输入密码时显示星号的实现方法

linux下如何运行可执行文件