|
| sløring af password Fra : Mads Rohde |
Dato : 22-11-01 20:57 |
|
Hej alle
Jeg er ved at lave at lille program der kræver at man logger på. Man skal
derfor taste sit brugernavn og password ind. spørgsmålet er så hvordan man
får den til at skrive stjerner (eller intet) når man skriver password'et.
Det skal nok lige siges at jeg er ret ny til c++ og at programmet skal
afvikles i dos. Jeg bruger MS VC++ 6 til at skrive det i.
På forhånd tak.
(også postet på www.eksperten.dk)
| |
Anders Bo Rasmussen (22-11-2001)
| Kommentar Fra : Anders Bo Rasmussen |
Dato : 22-11-01 21:25 |
|
On Thu, 22 Nov 2001 20:56:43 +0100,
Mads Rohde <tortuga@mail1.stofanet.dk> wrote:
> Det skal nok lige siges at jeg er ret ny til c++ og at programmet skal
> afvikles i dos. Jeg bruger MS VC++ 6 til at skrive det i.
Så får du et problem, hvis du vil køre det i ren dos SVJV. Godt nok
ligner det et windows-program, men hvis du prøver at kører de i dos,
siger den at det skal køre i windows.
--
Anders Bo Rasmussen
Kipple drives out nonkipple.
| |
Mads Rohde (27-11-2001)
| Kommentar Fra : Mads Rohde |
Dato : 27-11-01 20:28 |
|
har selv fundet svaret, her er det:
#include <stdio.h>
#include <conio.h>
main ()
{
int c=0;
char buffer[20];
char a;
char n[11];
bool Continue = 1;
printf("Name: ");
scanf("%s",&n);
printf("Password: ");
while (Continue)
{
a=getch();
if (a == 13)
{
Continue = 0;
buffer[c] = 0;
}
else
{
buffer[c]=a;
printf("*");
c++;
}
};
// printf("\n%s\n",buffer); // denne linie er bare en test linie og skal ikke med i det færdige prog
return 0;
}
| |
Byrial Jensen (29-11-2001)
| Kommentar Fra : Byrial Jensen |
Dato : 29-11-01 23:09 |
|
Mads Rohde <tortuga@mail1.stofanet.dk> skrev:
>
> har selv fundet svaret, her er det:
Du gemmer brugernavn og kodeord i tegnarrays med faste længder uden
at tjekke for buffferoverløb. Det betyder at programmet uden videre
kan gå ned, og at snedige, men uautoriserede brugere sandsynligvis
kan skaffe sig kontrol over programudførslen. Det harmonerer ikke
rigtig med at kræve kodeord.
I øvrigt bør du vælge om du vil bruge C eller C++. Nu ligner det
fuldstændigt et C-program, men er det ikke da "bool" ikke findes i
C. (Der findes en headerfil, <stdbool.h>, i C99 som definerer bool,
men den inkluderes ikke). Men hvis det skal være et C++-program,
er der ingen grund at arbejde med tegnarraytyper i stedet for C++'s
mere advancerede tekstmuligheder.
| |
Søren Badstue (10-12-2001)
| Kommentar Fra : Søren Badstue |
Dato : 10-12-01 14:02 |
|
Mads Rohde <tortuga@mail1.stofanet.dk> skrev i en
nyhedsmeddelelse:3bfd5906$0$4859$ba624c82@nntp02.dk.telia.net...
> Hej alle
>
> Jeg er ved at lave at lille program der kræver at man logger på. Man skal
> derfor taste sit brugernavn og password ind. spørgsmålet er så hvordan man
> får den til at skrive stjerner (eller intet) når man skriver password'et.
>
Jeg har lavet et projekt i skolen der gik ud på det samme (dog skulle det
kryterede password gemmes i en fil).
Her er hvordan vi lavede det:
do
{
in=getch();
if(in!=13)
{
password+=in;
cout<<"*";
}
}
while(in!=13);
Og det virker fint
--
SB
| |
|
|