繁体   English   中英

密码字符串比较 [C++]

[英]Password String compare [C++]

尝试执行密码验证方法以允许用户使用我的程序。

我想知道如何实现这样的代码,允许程序比较两个字符串,向下查找所有字母和数字以确保所有内容都匹配,然后允许用户在成功输入密码后访问程序控件。

因此,例如,如果密码是“h3llo”并且有人输入了“he”,则程序将输出一条错误消息,指出密码不正确。

这是我的开始:

void checkPassword() {
    cout << "Enter password: ";
    string password = "H3110W0r1d";
    int length = password.length();
    int i;
    string input;
    cin >> input;

    for (i = 0; i < length; i ++) {
        if ((input[i].compare(length[i]))) == 1) {
            if ((input[i].compare(length[i])) == 0) {
                cout << "Error! Wrong password!";
            } else {
    cout << "Welcome!";
    }
}

我尝试了很多不同的方法,但是,我似乎无法让它发挥作用。 对我做错了什么有帮助吗?

简单的一一比较。

void checkPassword() {
    cout << "Enter password: ";
    string password = "H3110W0r1d";
    int length = password.length();
    int i;
    string input;
    bool ok = true;
    cin >> input;

    if (input.length() != password.length()) {
        ok = false;
    } else {
        for (i = 0; i < length; i ++) {
            if (input[i] != password[i]) {
                ok = false;
                break;
            }
        }
    }
    if (ok) {
        cout << "Welcome!";
    } else {
        cout << "Error! Wrong password!";
    }
}

或者更简单

void checkPassword() {
    cout << "Enter password: ";
    string password = "H3110W0r1d";
    string input;
    cin >> input;

    if (input == password) {
        cout << "Welcome!";
    } else {
        cout << "Error! Wrong password!";
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM