悬赏100分 如何用c语言 写一个密码程序

用C语言写个简单的6位密码程序初始密码为123456并存在cipher.dat文件中,每输以为一位密码就在屏幕上输出一个*,如果密码错误就进行提示重新输入感谢各位高手解答... 用C语言写个简单的6位密码程序 初始密码为123456并存在cipher.dat文件中,每输以为一位密码就在屏幕上输出一个 * ,如果密码错误 就进行提示 重新输入 感谢各位高手解答 展开
 我来答
lieyan2024
2011-02-26 · TA获得超过485个赞
知道小有建树答主
回答量:361
采纳率:100%
帮助的人:469万
展开全部
不限制密码长度,支持回退功能。
#include <iostream>
#include <fstream>
#include <conio.h>

using namespace std;

int main()
{
string expwd;

ifstream ifs("cipher.dat");
ifs >> expwd;
ifs.close();

while (true) {
cout << endl << "Please input the password: ";

string rdpwd;

do {
int ch = getch();

if (ch == '\r') {
cout << endl;
break;
} else if (ch == '\b') {
if (rdpwd.length() > 0) {
rdpwd.erase(rdpwd.length() - 1, 1);
cout << "\b \b";
}
} else {
rdpwd += ch;
cout << '*';
}
} while (true);

if (expwd == rdpwd) {
cout << endl << "Password is right!" << endl;
break;
} else
cout << endl << "Password is wrong, please try again..." << endl;
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suiyue_2009
2011-02-26 · TA获得超过846个赞
知道小有建树答主
回答量:1248
采纳率:0%
帮助的人:873万
展开全部
这题很简单,你只要会2个问题就可以了
1.读写文件,以及打开和关闭文件
2.输入的数据进行保存并在屏幕上打印*,输入结束后进行对比
追问
第一个我会 
如何打印呢? 输入密码时总看得到 这个问题如何解决?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gcnqc00
2011-02-27 · 超过21用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:19.6万
展开全部
d 和shadow文件里面的内容

第一步

读取 判断吧 passwd 和shadow内容

把用户和密码存入一个数组

第二步
输入面貌
调用系统md5进行散列

第三步 把散列值保存到相应的地方

第四步退出喽
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式