关闭

隐藏输入密码

标签: c++c语言密码string
268人阅读 评论(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
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

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

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

oc,UITextFiled,怎么实现点击屏幕键盘自动隐藏和输入密码加密功能

oc,UITextFiled,怎么实现点击屏幕键盘自动隐藏和输入密码加密功能
  • zx6268476
  • zx6268476
  • 2015-04-20 09:38
  • 2922

Java密码屏蔽输入的实现方法

原文地址:http://www.fengfly.com/plus/view-10100-1.html
  • u010555688
  • u010555688
  • 2014-04-09 21:42
  • 1724

Java控制台下密码的输入

一直以为java在控制台下输入密码是没有办法隐藏密码的,但是昨天在做一个抢课程序时去google了一下,原来在jdk1.6中加入了java.io.Console类,可以不回显的输入密码,使用起来也是非常的方便. 下面看一下下面的代码: import java.io.Console; public...
  • dliyuedong
  • dliyuedong
  • 2014-03-18 14:13
  • 8606

Android EditText密码显示隐藏和全部属性的介绍

这个很简单,一起来看看图和代码吧:    代码如下:    布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q...
  • shenggaofei
  • shenggaofei
  • 2016-08-20 17:06
  • 11671

Android输入密码时显示与隐藏

在登录或者注册的时候,有些软件中,需求要求密码可以查看和隐藏,其实实现起来也很简单。 首先定义布局: <LinearLayout android:layout_width="fill_parent" android:layout_heig...
  • lgx06
  • lgx06
  • 2015-01-05 17:55
  • 2283

C#-TextBox-登录窗口密码不可见---ShinePans

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System....
  • panshang1994
  • panshang1994
  • 2014-04-25 10:25
  • 3319

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

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

Qt设置密码输入框格式QLineEdit

enum QLineEdit::EchoMode This enum type describes how a line edit should display its contents. Constant Value Description QLineEdit::Normal 0 Display...
  • qq_33850438
  • qq_33850438
  • 2016-08-18 22:26
  • 6228

Android实现密码隐藏显示

Android实现密码隐藏显示需求:当用户点击提现按钮的时候,弹出输入支付密码的popupwindow,输入密码框后面有显示和隐藏支付密码的切换按钮。老规矩先验货:1.布局文件<?xml version="1.0" encoding="utf-8"?&g...
  • xinpengfei521
  • xinpengfei521
  • 2017-11-11 21:34
  • 161
    个人资料
    • 访问:2754次
    • 积分:156
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:3篇
    • 译文:0篇
    • 评论:31条
    文章分类