隐藏输入密码

标签: c++ c语言 密码 string
356人阅读 评论(0) 收藏 举报
分类:

  写了几个c++的项目,有些时候会需要设置一些管理员或者用户的登录,这时候密码应该是隐藏的,今天就给大家分享一下,如何隐藏的输入密码,话不多说,马上贴上代码:


void inputPassword(string &str, int len) {
    char ch;
    int _len = 0;
    char *password = new char[len];
    while((ch = getch()) != '\r') {
        if(ch == len) {
            if(_len == 0) {
                continue;
            }
            cout << "\b";
            cout << " " << "\b";
            _len--;
        }
        else if(_len == len-1) {
            continue;
        } else {
            cout << '*';
            password[_len] = ch;
            _len++;
        }
    }
    password[_len] = '\0';
    str = password;
    delete []password;
    cout << endl;
}

bool changePassword() {
    ifstream in;
    in.open("password.txt");
    string oldPassword, checkPassword, newPassword, checkNewPassword;
    cout << "请输入原密码: ";
    inputPassword(checkPassword, 8);
    in >> oldPassword;
    in.close();
    if(oldPassword == checkPassword) {
        cout << "请输入新密码: ";
        inputPassword(newPassword, 8);
        cout << "请再次输入新密码: ";
        inputPassword(checkNewPassword, 8);
        if(newPassword == checkNewPassword) {
            ofstream out;
            out.open("password.txt");
            out << newPassword;
            return true;
        } else {
            cout << "两次密码不一致,修改失败!" << endl;
            return false; 
        }

    } else {
        cout << "密码错误!" << endl;
        return false;
    }

}

有错误请指正1.


  1. Written by Vilin
查看评论

具有密码输入隐藏功能(c语言编)

/*这个例子很简单的就把密码输入隐藏功能呈现出来,关键的一点就是system(“cls”),与大家分享*/ #include #include #include void main() {   int...
  • flytothesun
  • flytothesun
  • 2012-07-30 08:48:36
  • 3624

c语言中用户输入的密码用*号代替,可回删

#include #include #include void main() { //char name代表用户名 mm代表登陆密码 a代表输入的密码 char name[20], m...
  • baidu_35534327
  • baidu_35534327
  • 2016-12-11 22:10:29
  • 2492

C语言实现密码隐藏

  • 2016年09月27日 14:46
  • 822B
  • 下载

Linux下C语言键盘输入密码时无回显(屏幕不显示字符)

[cpp] view plaincopy #include    #include    #include    #include    #define ECHO...
  • luojiafei
  • luojiafei
  • 2012-02-13 22:51:25
  • 8128

在C语言中,如何做到在用户输入密码时不显示密码本身,只回显星号。或者什么都不显示?

在C语言中,如何做到在用户输入密码时不显示密码本身,只回显星号。或者什么都不显示?  我们调用一个函数getch(),它包含在头文件中。该函数可以在输入的同时不显示输入内容,并在输入完成后不需回车而...
  • YEDITABA
  • YEDITABA
  • 2016-12-07 22:28:51
  • 2496

linux c语言隐藏密码

#include #include #include #include #include int getch() {  int c=0;  struct termios org...
  • zby_956776355
  • zby_956776355
  • 2017-02-09 20:07:34
  • 510

C++输入密码显示*

论坛上看到这个题目,记录一下:linux中输入密码不显示,这里写个小控制台程序,输入密码,显示*号,处理了退格键,其他特殊按键没考虑。// C++ 输入 密码 回显 * 的小程序段 #includ...
  • wesweeky
  • wesweeky
  • 2011-05-23 17:34:00
  • 6580

C语言中隐藏输入的代码

有些系统或软件输入密码时看不见我们所输入的字符,这里写一下这个简单代码: 运行后,只要不输入‘x’,就别想继续运行,而输入的字符也全部都看不见! #include #include #...
  • lingfeng2019
  • lingfeng2019
  • 2017-04-01 21:03:35
  • 549

C语言隐藏到后台

#ifdef _MSC_VER #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) #endif...
  • rubikchen
  • rubikchen
  • 2017-12-04 14:45:44
  • 63

Linux下<em>C语言</em>实现 <em>密码</em>不回显输入

Linux下<em>C语言</em>实现 <em>密码</em>不回显输入,输入*来代替,使用了curses库... Linux下<em>C语言</em>实现 <em>密码</em>不回显输入,输入*来代替,...在linuxc中如何实现输入<em>隐藏</em> linux <em>c语言隐藏</em>...
  • 2018年04月07日 00:00
    个人资料
    持之以恒
    等级:
    访问量: 3404
    积分: 178
    排名: 99万+
    文章分类