怎样编写密码程序!用C

vcline 2002-10-27 04:53:52
我希望编写一密码程序,但不是用字母表示的哪一种!
像邮件的那一件都用*号来表示!
怎样解决此问题!
谢谢!!!
...全文
391 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
攻城狮AA 2010-06-18
  • 打赏
  • 举报
回复
如何用C#编写密码程序?求救!!!!
ybwmissyou 2002-11-17
  • 打赏
  • 举报
回复
为什么一定要用 C 呢?我想如果不调用汇编是要不得的(因为我原来也写过),因为高级语言的键盘输入都是在你输入回车之后程序才接受。所以你输入的密码都会先显现在屏幕上,待回车后才有可能被 ” * “ 覆盖。
sjd163 2002-11-14
  • 打赏
  • 举报
回复
用vc和bcb的Edit可以。
skyfine 2002-11-14
  • 打赏
  • 举报
回复
该程序出自:
http://expert.csdn.net/Expert/topic/1140/1140432.xml?temp=.7850153
作者:beginer4program(小角色)

dev-c++ 编译通过。tc2.0不能通过.

#include <conio.h>

void main()
{
char passwd[100];
char ch;
int i =0;
while((ch=_getch())!=13 && i < 99){
if(ch==8){
_cprintf("\b \b");
i--;
}
else{
_putch('*');
passwd[i++] = ch;
}
}
passwd[i] = '\0';
_cputs(passwd);

}
winpzs 2002-10-27
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define BACKSPACE 8
char *get_password(const char *prompt)
{
static char buffer[128];
int i=0;
char letter=NULL;
printf(prompt);
while((i<127)&&(letter!='\r'))
{
letter=getch();
if(letter==BACKSPACE)
{
if(i>0)
{
buffer[--i]=NULL;
putchar(BACKSPACE);
putchar(' ');
putchar(BACKSPACE);
}
else
putchar(7);
}
else if(letter!='\r')
{
buffer[i++]=letter;
putchar('*');
}
} //while
buffer[i]=NULL;
return (buffer);
}

void main(void)
{
char *password;
password=get_password("Enter Password:");
if(strcmp (password,"ILoveYou")
printf("\nPassword Incorrect!\n");
else
printf("\n password OK!\n");
}
ji_da_sheng 2002-10-27
  • 打赏
  • 举报
回复
我给一个建议的方法:每读入一个字符后,就输出一个回车键将刚输入的字符清除掉,然后再输出*代替。不过这个方法我尚未试过,不知道是否可行。
slovel 2002-10-27
  • 打赏
  • 举报
回复
但是getch()所获取的字符都会放在堆中,很容易被获取啊。有没有什么更保险的方法呢?
zhiwuyang602 2002-10-27
  • 打赏
  • 举报
回复
楼上的对
IEQQ 2002-10-27
  • 打赏
  • 举报
回复
#include<stdio.h>
main( )
{char password[255];
int i=0;
while((password[i++]=getch( ))!='\n'&&i<255)
putchar('*');
password[i]='\0';
}

主要要知道getch( )表示从终端输入字符,但是并不显示出来。
newgina 2002-10-27
  • 打赏
  • 举报
回复
#include<stdio.>

main()

{
char a;
printf("please input password");
scanf("%d",a);
printf("*");
}
基本意思就是输入的数是你要的 不管你对它做什么 在之后都输出一个*就
ok了
vcline 2002-10-27
  • 打赏
  • 举报
回复
我的意思是如现在有一密码为vcline当你输入时屏幕显示的是******,像这样的密码,而不是在你输入的同时也显示vcline!
谢谢!
GOTO_2002 2002-10-27
  • 打赏
  • 举报
回复
看不懂~~~

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧