Passord component

En komponent for å generere midlertidige passwords.Contributor: APOGEE Informasjonssystemer (*********************************** ******************************** AISQuickPassword - Backdoor Passord genererer Component for DelphiCreated på: 25 september 1996Created av: Dennis P . ButlerPurpose. formålet med denne komponenten er å tillate en programmerer å bruke passordsikkerhet i et prosjekt, men ikke være begrenset av å måtte komme opp med en plan for å håndtere glemt passord denne komponenten gjør det mulig for programmereren å lage sine prosjekter generere midlertidige passord for brukerne av project.Description: en evigvarende problem med passord er at brukere ofte glemmer passordet sitt, som fører til mange adminsitrative problemer Disse problemene er spesielt alvorlig hvis et program bruker lokale tabeller og blir kjørt på en bærbar PC, der en administrator. kan ikke lett kunne hjelpe brukeren hvis de ikke er på samme sted. Denne komponenten gjør det mulig for administratoren å generere et midlertidig passord basert på påloggings kriteriene for brukeren. Passordet kan være bra for hele dagen eller den spesifikke time, basert på bruk i programmet. Komponenten kan også passord som skal genereres for brukere i en annen tidssone. For eksempel, hvis en bruker i en annen tidssone enn administrator kaller opp som ønsker en bakdør passord for seg selv, spesielt hvis time passord alternativet er valgt, så timen forskyvningen i TimeZoneHours feltet kan imøtekomme dette og produsere et riktig passord for brukere machine.Using Component: bruk av denne komponenten forutsetter at det finnes minst to typer mennesker som skal bruke systemet, vanlige brukere og administratorer. Kun administratorer ha muligheten til å generere backdoor passord for brukere. I en typisk applikasjon, det er en innloggingsbildet for å gå inn i systemet. Bruke AISQuickPassword komponent, vil programmet fylle ut informasjonen om brukernavn egenskapen basert på innlogging, den Sortmethod eiendommen, og LengthPassword eiendom. Programmereren vil inkludere i innloggingsskjermen et kall til validatepassword med passordet inn som en parameter. Hvis det angitte passordet er midlertidig passord, kan programmet tillate dem å gå inn i systemet eller ta de skritt som er så egnet for programmet. På administrator slutten, ville de ha tilgang til et skjema hvor de bare ville være i stand til å ringe til createmethod method.Key Egenskaper: Brukernavn (streng) - Dette er den streng kriteriene som er unike for hver bruker. Det kan være et brukernavn, bruker-ID, etc., men generelt bør være den samme strengen som brukes til å logge inn i systemet, slik at strengene vil være den samme på bruker- og administrator maskiner. SortMethod (stDateOnly, stDateHour) - Definerer om passordet som genereres vil være gyldig for en hel dag eller gjeldende time. LengthPassword (heltall) - Lengde av den resulterende passord. TimeZoneHours (heltall) - Antall timer unna administratoren at brukeren er på. Standard er null. . For tidssoner med et tidligere tidspunkt enn administrator, bruker et negativt tall ** Vær oppmerksom på at de tre første eiendommene må være identisk på brukeren og administrative programmer ** Metoder: CreatePassword - Basert på brukernavnet, SortMethod, & PasswordLength, er et unikt passord returnert. ValidatePassword - Basert på passordet sendes til funksjonen, en boolsk verdi av True eller False vil bli returnert på om passordet er riktig for brukernavn, SortMethod, & PasswordLength.Any tilbakemeldinger, kommentarer, etc. er velkomne. Svar på [email protected] 1996 Apogee Information Systems ************************************** *******************************) enhet Quickpw, interfaceuses SysUtils, WinTypes, WinProcs, meldinger, klasser, Grafikk, kontroller, skjemaer, dialoger; {StDateOnly - Passord består av bare dato - bra for hele dagen stDateHour - Passord består av dato & time - bra for dagens time bare} skriver TSortType = (stDateOnly, stDateHour); TAISQuickPW = klasse (TComponent) private FUserName: string; FSortMethod: TSortType; FLengthPassword: integer; FTimeZoneHours: integer; funksjon ReturnPW (CreatingPassword: Boolean): String; funksjons IsValidSelections: Boolean; {Felleserklæringer} beskyttet {Beskyttede erklæringer} public konstruktør Opprette (AOwner: TComponent); styre; destructor Destroy; styre; funksjon CreatePassword: String; fungere ValidatePassword (PWord: String): boolean; {Offentlige erklæringer} publisert {Brukernavn må være identisk på bruker & administrator ender} eiendom Name: string lese FUserName skrive FUserName; Eiendommen SortMethod: TSortType lese FSortMethod skrive FSortMethod; {Jo lengre LengthPassword eiendommen er, desto sikrere passord} eiendommen LengthPassword: integer lese FLengthPassword skrive FLengthPassword; {Antall timer unna, + eller -, av brukere tidssone. 0 er standard,} eiendoms TimeZoneHours: integer lese FTimeZoneHours skrive FTimeZoneHours; {Publisert erklæringer} ende; prosedyre register, implementationConstructor TAISQuickPW.Create (AOwner: TComponent); begynne arvet Opprette (AOwner); end; Destructor TAISQuickPW.Destroy, begynner Arvet Destroy; ende; prosedyre register, begynner RegisterComponents ( 'Apogee', [ ,,,0],TAISQuickPW]); end; {Denne funksjonen genererer passord. } Funksjon TAISQuickPW.ReturnPW (CreatingPassword: Boolean): String; Var Passord: String; PassBasis: Fast; NameMultiplier, CurrentHour, DayAdjustment: integer; ThisDate: TDateTime; const multiplier = ,092292080396; {Random multiplikator - Dette sikrer at en fraksjon vil resultere} begynne DayAdjustment: = 0; ThisDate: = dato; CurrentHour: = StrToInt (FormatDateTime ( 'h', ThisDate)); hvis Lengde (FUserName) > 3 da NameMultiplier: = Ord (FUserName [1]) + Ord (FUserName [2]) + Ord (FUserName [3]) ellers NameMultiplier: = 13; {Hvis Name er mindre enn tre sifre, bruk temp nummer} hvis CreatingPassword deretter {bare justere tid basert på tidssonen forskjell hvis du oppretter passord. Validifying passord er gjort på brukeren slutten, der tidssone forskjellen er grunnlaget for etableringen av passord på Administrator slutten. I dette tilfelle ingen tid justering er nødvendig. } Begynne if (CurrentHour + TimeZoneHours) > 23 da begynne CurrentHour: = CurrentHour - 24; DayAdjustment: = 1; ende else if (CurrentHour + TimeZoneHours) < 0 da begynne CurrentHour: = 24 + CurrentHour; DayAdjustment: = 1; slutt; ThisDate: = ThisDate + DayAdjustment; slutt; hvis FSortMethod = stDateHour deretter NameMultiplier: = NameMultiplier + CurrentHour; {Multipliser nevne avhengig tall etter dato avhengig nummer for å få en unik verdi for hver dag i året for hver bruker. Multiplisere dette med en tilfeldig multiplikator (const verdi) for å sikre at en fraksjon alltid resulterer. Ta FLengthPassword sifrene brøkdel som den endelige passord. Merk at dersom brøkdelen funker til mindre tall enn FLengthPassword, vil et passord med færre sifre enn FLengthPassword resultatet. Programmet vil fortsatt lage /godkjenne passord normalt. } PassBasis: = NameMultiplier * StrToInt (FormatDateTime ( 'åååå', ThisDate)) /(StrToInt (FormatDateTime ( 'd', ThisDate)) * StrToInt (FormatDateTime ( "m", ThisDate))) * multiplier; Passord: = kopiere (FloatToStr (PassBasis - AVKORT (PassBasis)), 3, FLengthPassword); Resultat: = passord; end; funksjons TAISQuickPW.IsValidSelections: boolske; begynne Resultat: = False; if ((FUserName < > '') og ((FSortMethod = stDateHour) eller (FSortMethod = stDateOnly)) og (FLengthPassword > 0)) så Resultat: = True; ende; funksjon TAISQuickPW.CreatePassword: String; Var NewPW : String, begynner Resultat: = ''; {Standard hvis error} hvis IsValidSelections deretter begynne NewPW: = ReturnPW (sann); Resultat: = NewPW; end, end, funksjon TAISQuickPW.ValidatePassword (PWord: String): boolean, begynner Resultat: = False; {Standard hvis error} hvis IsValidSelections så hvis ReturnPW (False) = PWord deretter Resultat: = True annet Resultat: = False; end; slutten
.



Previous:
Next Page: