隐藏输入密码

  写了几个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
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36124194/article/details/72836271
个人分类: c++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭