首页 > 其他分享 >C语言不显示输入密码

C语言不显示输入密码

时间:2023-02-15 16:34:13浏览次数:50  
标签:password C语言 密码 include main 输入

原文地址:https://www.cnblogs.com/liqinglucky/p/hide_input.html

通过C语言实现隐藏密码输入。目标是做到读写用户输入,屏幕不回显。

程序

隐藏输入参考:C 程序实现密码隐秘输入 linux系统可执行 - xiaobingzzh - 博客园 (cnblogs.com)

文件passwd.c

#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char **argv)
{
	//方案1:显示输入密码
	//char password[20] = {0};
	//scanf("%s",password) ;
	//方案2:不显示输入密码
    char *password = getpass("Input your password : ");
    
    if (strcmp (password, "123456") == 0){
        printf( "password right\n");
    }else
    {
        printf( "password worng\n");
    }

    return 0;
}

测试

# gcc passwd.c -o passwd
# ./passwd
Input your password :          <<< 输入:123456。并不显示在屏幕
password right

其他方案:

C语言模拟密码输入(显示星号) - 朴素贝叶斯 - 博客园 (cnblogs.com)

遇到问题:

问题1:linux 没有conio.h
# gcc main.c -o main
main.c:5:10: fatal error: conio.h: No such file or directory
    5 | #include <conio.h>
      |          ^~~~~~~~~
compilation terminated.

问题2:将 conio.h 替换成 <curses.h>  编译报错
#include <curses.h>

# gcc main.c -o main
/usr/bin/ld: /tmp/ccS9zJta.o: in function `getpwd':
main.c:(.text+0x96): undefined reference to `stdscr'
/usr/bin/ld: main.c:(.text+0x9e): undefined reference to `wgetch'
collect2: error: ld returned 1 exit status

标签:password,C语言,密码,include,main,输入
From: https://www.cnblogs.com/liqinglucky/p/hide_input.html

相关文章

  • C语言:静态变量
    #include<stdio.h>//变量作用域:局部变量全局变量//函数外声明的变量称为全局变量,函数内声明的变量的称为局部变量//变量生存周期:变量的存在时间//静态存储方式:指在......
  • 直播系统app源码,shiro简单的密码加盐与密码验证
    直播系统app源码,shiro简单的密码加盐与密码验证 publicclasstest{  publicstaticvoidmain(String[]args){                ......
  • 直播系统搭建,docker Elasticsearch 7.16.1 设置密码
    直播系统搭建,dockerElasticsearch7.16.1设置密码1、启动容器 dockerrun-d-p9200:9200-p9300:9300--hostnamees--networkseata_default-e"discovery.typ......
  • 02. C语言基础知识
    一、注释  注释就是对代码进行解释说明的文字,注释的内容不会参与编译和运行,仅仅是对代码的解释说明。在C语言中注释主要分为以下两类:单行注释://,注释内容从//始到......
  • 单链表:用C语言定义单链表结构
    一、单链表公共头文件#ifndef__MYHEAD_H__#define__MYHEAD_H__/*******************************************************************@file:myhead.h*@brief......
  • C语言:岸边钓鱼
    #include<stdio.h>//假期小王跟随父亲去钓鱼,小王的父亲在这期间钓到了一条大鱼距离岸边1米,小明的父亲每5分钟向岸边收m米,然后休息2分钟,这时鱼会向外游出n米,//试编写......
  • 输入框格式校验,两位小数、非英文字母、非符号
    <a-inputv-model:value="item2.val"onkeyup="if(!/^[0-9]+$/.test(value))value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');if(value>100)value=100;if(valu......
  • 如何给视频中的密码部分打马赛克 All In One
    如何给视频中的密码部分打马赛克AllInOne视频剪辑/视频打码剪映(......
  • C语言获取X的第Y位的二进制值,或者设置值
    如:#defineGetBit(x,y)((x)>>(y)&1) //获取将x的第y位(0或1)#defineSetBit(x,y)x|=(1<<y) //将X的第Y位置1#defineClrBit(x,y)x&=~(1<<y) //将X的第Y位清0设......
  • 从1写TCPIP协议栈5:IP协议的输入处理
    引言在第四章节实现ARP地址解析协议后,遵循自底向上的开发思路,我们紧接着需要实现ICMP\IGMP\DHCP等网络层协议,实现这些协议的前提就是先实现IPV4协议的封装和解析接口,这也......