Mot de passe composant


Un composant pour générer des mots de passe temporaires.
Contributeur: APOGEE SYSTÈMES d'INFORMATION
(*******************************************************************
AISQuickPassword - Backdoor génération de mots de Passe Composant pour Delphi
Créé le : Le 25 septembre 1996,
Créé par : Dennis P. Butler
le But :
& nbsp & nbsp Le but de cette composante est de permettre à un programmeur d'utiliser le mot de passe
& nbsp & nbsp sécurité dans un projet, mais ne pas être limité par avoir à venir avec
& nbsp & nbsp un système pour gérer les mots de passe oubliés. Ce composant permet à l'
& nbsp & nbsp programmeur pour faire ses projets de générer des mots de passe temporaires pour les
& nbsp & nbsp utilisateurs du projet.
Description :
& nbsp & nbsp Un perpétuel problème avec les mots de passe, c'est que les utilisateurs oublient souvent leur
& nbsp & nbsp mot de passe, conduisant à de nombreuses décisions administratives problèmes. Ces problèmes sont
& nbsp & nbsp particulièrement graves si une application utilise les tables locales et étant
& nbsp & nbsp exécuter sur un ordinateur portable, où un administrateur ne peut pas être facilement en mesure d'aider
& nbsp & nbsp l'utilisateur si elles ne sont pas au même endroit. Ce composant permet
& nbsp & nbsp l'administrateur pour générer un mot de passe temporaire basée sur la connexion
& nbsp & nbsp critères de l'utilisateur. Ce mot de passe peut être bon pour toute la journée ou
& nbsp & nbsp l'heure spécifique, basée sur l'utilisation du programme. Le composant
& nbsp & nbsp permet aux mots de passe générés par les utilisateurs dans un fuseau horaire différent.
& nbsp & nbsp Par exemple, si un utilisateur dans un autre fuseau horaire que celui de l'administrateur
& nbsp & nbsp appels jusqu'à vouloir une porte dérobée mot de passe pour eux-mêmes, surtout si l'
& nbsp & nbsp horaire option de mot de passe est choisi, le décalage de l'heure dans le
& nbsp & nbsp TimeZoneHours champ, peut accueillir jusqu'à présent et de produire un bon mot de passe
& nbsp & nbsp pour les utilisateurs de la machine.
à l'Aide de l'élément :
& nbsp & nbsp Utilisation de ce composant suppose qu'il y a au moins deux types de personnes
& nbsp & nbsp qui vont utiliser le système, les utilisateurs ordinaires et les administrateurs. Seulement
& nbsp & nbsp administrateurs ont la capacité de générer de porte dérobée, les mots de passe pour les utilisateurs.
& nbsp & nbsp Dans une application typique, il y a un écran de connexion pour entrer dans le système.
& nbsp & nbsp à l'Aide de la AISQuickPassword composant, l'application permettra de combler dans le
& nbsp & nbsp informations pour le nom d'utilisateur de la propriété fondée sur le login, le Sortmethod
& nbsp & nbsp propriété et le LengthPassword de la propriété. Le programmeur devrait inclure
& nbsp & nbsp dans l'écran de connexion d'un appel à validatepassword avec le mot de passe entré
& nbsp & nbsp tant que paramètre. Si le mot de passe entré est le mot de passe temporaire, le
& nbsp & nbsp programme peut leur permettre d'entrer dans le système ou de prendre toutes les mesures est ensuite
& nbsp & nbsp appropriée pour l'application. L'administrateur de la fin, ils ont
& nbsp & nbsp accès à un formulaire pour qu'ils seraient en mesure de faire des appels à l'
& nbsp & nbsp createmethod méthode.
Propriétés :
& ! & ! & ! & nbsp nom d'utilisateur (string) - C'est la chaîne des critères propres à chaque utilisateur. Il peut être
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp un nom d'utilisateur, id utilisateur, etc., mais en général, doit être le même
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp chaîne de caractères qui est utilisé pour ouvrir une session dans le système, alors que les chaînes de caractères
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp sera le même sur l'utilisateur et de l'administrateur des machines.
& ! & ! & ! & nbsp SortMethod (stDateOnly, stDateHour) - Définit si le mot de passe généré
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp être valable toute la journée ou l'heure actuelle.
& ! & ! & ! & nbsp LengthPassword (entier) - Longueur de la suite de mot de passe.
& ! & ! & ! & nbsp TimeZoneHours (entier) - Nombre d'heures de route à partir de l'administrateur que c'est à l'utilisateur.
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp valeur par Défaut est zéro. Pour les fuseaux horaires avec un plus de temps que le
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp administrateur, l'utilisation d'un nombre négatif.
** à Noter que les trois premières propriétés doivent être identiques
& ! & ! & ! & ! & ! & ! & ! & nbsp sur l'utilisateur et les programmes d'administration **
Méthodes :
& nbsp & nbsp CreatePassword - sur la Base du nom d'utilisateur, SortMethod, & PasswordLength, un unique mot de passe
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp est retourné.
& nbsp & nbsp ValidatePassword - Basé sur le mot de passe transmis à la fonction, une valeur booléenne
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp True ou False sera retourné si le mot de passe est bon
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp & ! & ! & ! & nbsp pour le nom d'utilisateur, SortMethod, & PasswordLength.
Tous les commentaires, remarques, etc. sont les bienvenus. Veuillez répondre à [email protected]
le droit d'Auteur De 1996 Apogée des Systèmes d'Information
*********************************************************************)
unité de Quickpw
interface

& nbsp & nbsp SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
& nbsp & nbsp Formes, Les boîtes de dialogue
& nbsp & nbsp {
& nbsp & nbsp stDateOnly - le Mot de passe est composé de la date seulement bonne pour toute la journée
& nbsp & nbsp stDateHour - le Mot de passe est composé de jour-heure - bon pour l'heure actuelle seulement }
type
& nbsp & nbsp TSortType = (stDateOnly,stDateHour)
& nbsp & nbsp TAISQuickPW = class(TComponent)
& nbsp & nbsp privé
& ! & ! & ! & nbsp FUserName : string
& ! & ! & ! & nbsp FSortMethod : TSortType
& ! & ! & ! & nbsp FLengthPassword : integer
& ! & ! & ! & nbsp FTimeZoneHours : integer
& ! & ! & ! & nbsp fonction ReturnPW(CreatingPassword: Boolean) : String
& ! & ! & ! & nbsp fonction IsValidSelections : Boolean
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp protégé
& ! & ! & ! & nbsp { déclarations Protégées }
& nbsp & nbsp public
& ! & ! & ! & nbsp constructor Create(AOwner:TComponent) remplacer
& ! & ! & ! & nbsp destructeur de Détruire remplacer
& ! & ! & ! & nbsp fonction CreatePassword : String
& ! & ! & ! & nbsp fonction ValidatePassword(PWord: String) : boolean
& ! & ! & ! & nbsp { déclarations Publiques }
& nbsp & nbsp publié
& ! & ! & ! & nbsp { nom d'utilisateur doit être identique sur l'utilisateur-administrateur se termine }
& ! & ! & ! & nbsp propriété UserName : string lire FUserName écrire FUserName
& ! & ! & ! & nbsp propriété SortMethod : TSortType lire FSortMethod écrire FSortMethod
& ! & ! & ! & nbsp { plus La LengthPassword propriété est, le plus sécurisé du mot de passe }
& ! & ! & ! & nbsp propriété LengthPassword : integer lire FLengthPassword écrire FLengthPassword
& ! & ! & ! & nbsp { Le nombre d'heures de route, ou, de la utilisateurs du fuseau horaire. Valeur par défaut est 0 }
& ! & ! & ! & nbsp propriété TimeZoneHours : integer lire FTimeZoneHours écrire FTimeZoneHours
& ! & ! & ! & nbsp { Publié des déclarations }
& nbsp & nbsp fin
procédure Register
application

Constructeur TAISQuickPW.Create(AOwner:TComponent)
begin
& nbsp & nbsp Hérité Create(AOwner)
fin
Destructeur TAISQuickPW.Détruire
begin
& nbsp & nbsp Hérité de Détruire
fin
procédure Register
begin
& nbsp & nbsp RegisterComponents('Apogée', [TAISQuickPW])
fin
{ Cette fonction génère le mot de passe. }
fonction de TAISQuickPW.ReturnPW(CreatingPassword: Boolean) : String
var
& nbsp & nbsp Mot de passe : String
& nbsp & nbsp PassBasis : Réel
& nbsp & nbsp NameMultiplier,
& nbsp & nbsp CurrentHour,
& nbsp & nbsp DayAdjustment : integer
& nbsp & nbsp ThisDate : TDateTime
const
& nbsp & nbsp multiplicateur = 0.092292080396 { Multiplicateur Aléatoire - Ce qui garantit qu'une fraction entraînera }
begin
& nbsp & nbsp DayAdjustment := 0
& nbsp & nbsp ThisDate := Date
& nbsp & nbsp CurrentHour := StrToInt(FormatDateTime('h',ThisDate))
& nbsp & nbsp si la Longueur(FUserName) > 3
& ! & ! & ! & nbsp NameMultiplier := Ord(FUserName[1]) Ord(FUserName[2]) Ord(FUserName[3])
& nbsp & nbsp else
& ! & ! & ! & nbsp NameMultiplier := 13 { Si le nom d'utilisateur est à moins de trois chiffres, utilisez le numéro temp }
& nbsp & nbsp si CreatingPassword alors { Uniquement ajuster le temps en fonction de la différence de fuseau horaire, si
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp création de mot de passe. Validifying les mots de passe se fait
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp à l'utilisateur final, où la différence de fuseau horaire est à la base
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp pour la création de mot de passe de l'Administrateur de la fin. En
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp ce cas, aucun ajustement n'est nécessaire. }
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp si (CurrentHour TimeZoneHours) > 23
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp CurrentHour := CurrentHour - 24
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp DayAdjustment := 1
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & ! & ! & nbsp si (CurrentHour TimeZoneHours) < 0 alors
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp CurrentHour := 24 CurrentHour
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp DayAdjustment := -1
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp ThisDate := ThisDate DayAdjustment
& ! & ! & ! & nbsp fin
& nbsp & nbsp si FSortMethod = stDateHour puis
& ! & ! & ! & nbsp NameMultiplier := NameMultiplier CurrentHour
& nbsp & nbsp { Multiplier nom dépendant du nombre par date dépendant du nombre pour obtenir une valeur unique pour
& ! & ! & ! & nbsp chaque jour de l'année pour chaque utilisateur. Multipliez cela par un multiplicateur aléatoire (const value)
& ! & ! & ! & nbsp pour s'assurer qu'une fraction toujours les résultats. Prendre FLengthPassword chiffres de la fraction
& ! & ! & ! & nbsp finale de mot de passe. Notez que si la partie fractionnaire de moins de chiffres que
& ! & ! & ! & nbsp FLengthPassword, un mot de passe avec moins de chiffres que FLengthPassword du résultat. Programme
& ! & ! & ! & nbsp va encore créer et/ou valider les mots de passe normalement. }
& nbsp & nbsp PassBasis := NameMultiplier *
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp StrToInt(FormatDateTime ('aaaa', ThisDate)) /
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp (StrToInt(FormatDateTime('d',ThisDate)) * StrToInt(FormatDateTime('m',ThisDate))) *
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp multiplicateur
& nbsp & nbsp Mot de passe := copy(FloatToStr(PassBasis - Trunc(PassBasis)),3,FLengthPassword)
& nbsp & nbsp Résultat := Mot de passe
fin
fonction de TAISQuickPW.IsValidSelections : Boolean
begin
& nbsp & nbsp Result := False
& nbsp & nbsp si ((FUserName <> ') et
& ! & ! & ! & ! & nbsp ((FSortMethod = stDateHour) ou (FSortMethod = stDateOnly)) et
& ! & ! & ! & ! & nbsp (FLengthPassword > 0)) puis
& ! & ! & ! & ! & ! & ! & ! & nbsp Result := True
fin
fonction de TAISQuickPW.CreatePassword : String
var
& nbsp & nbsp NewPW : String
begin
& nbsp & nbsp Résultat := ' { par Défaut en cas d'erreur }
& nbsp & nbsp si IsValidSelections puis
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp NewPW := ReturnPW(Vrai)
& ! & ! & ! & ! & ! & nbsp Résultat := NewPW
& ! & ! & ! & nbsp fin
fin
fonction de TAISQuickPW.ValidatePassword(PWord : String) : boolean
begin
& nbsp & nbsp Result := False { par Défaut en cas d'erreur }
& nbsp & nbsp si IsValidSelections puis
& ! & ! & ! & nbsp si ReturnPW(Faux) = PWord puis
& ! & ! & ! & ! & ! & nbsp Résultat := True
& ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & nbsp Result := False
fin
à la fin.









Mot de passe composant


Mot de passe composant : Plusieurs milliers de conseils pour vous faciliter la vie.


Un composant pour generer des mots de passe temporaires.
Contributeur: APOGEE SYSTEMES d'INFORMATION
(*******************************************************************
AISQuickPassword - Backdoor generation de mots de Passe Composant pour Delphi
Cree le : Le 25 septembre 1996,
Cree par : Dennis P. Butler
le But :
& nbsp & nbsp Le but de cette composante est de permettre a un programmeur d'utiliser le mot de passe
& nbsp & nbsp securite dans un projet, mais ne pas etre limite par avoir a venir avec
& nbsp & nbsp un systeme pour gerer les mots de passe oublies. Ce composant permet a l'
& nbsp & nbsp programmeur pour faire ses projets de generer des mots de passe temporaires pour les
& nbsp & nbsp utilisateurs du projet.
Description :
& nbsp & nbsp Un perpetuel probleme avec les mots de passe, c'est que les utilisateurs oublient souvent leur
& nbsp & nbsp mot de passe, conduisant a de nombreuses decisions administratives problemes. Ces problemes sont
& nbsp & nbsp particulierement graves si une application utilise les tables locales et etant
& nbsp & nbsp executer sur un ordinateur portable, ou un administrateur ne peut pas etre facilement en mesure d'aider
& nbsp & nbsp l'utilisateur si elles ne sont pas au meme endroit. Ce composant permet
& nbsp & nbsp l'administrateur pour generer un mot de passe temporaire basee sur la connexion
& nbsp & nbsp criteres de l'utilisateur. Ce mot de passe peut etre bon pour toute la journee ou
& nbsp & nbsp l'heure specifique, basee sur l'utilisation du programme. Le composant
& nbsp & nbsp permet aux mots de passe generes par les utilisateurs dans un fuseau horaire different.
& nbsp & nbsp Par exemple, si un utilisateur dans un autre fuseau horaire que celui de l'administrateur
& nbsp & nbsp appels jusqu'a vouloir une porte derobee mot de passe pour eux-memes, surtout si l'
& nbsp & nbsp horaire option de mot de passe est choisi, le decalage de l'heure dans le
& nbsp & nbsp TimeZoneHours champ, peut accueillir jusqu'a present et de produire un bon mot de passe
& nbsp & nbsp pour les utilisateurs de la machine.
a l'Aide de l'element :
& nbsp & nbsp Utilisation de ce composant suppose qu'il y a au moins deux types de personnes
& nbsp & nbsp qui vont utiliser le systeme, les utilisateurs ordinaires et les administrateurs. Seulement
& nbsp & nbsp administrateurs ont la capacite de generer de porte derobee, les mots de passe pour les utilisateurs.
& nbsp & nbsp Dans une application typique, il y a un ecran de connexion pour entrer dans le systeme.
& nbsp & nbsp a l'Aide de la AISQuickPassword composant, l'application permettra de combler dans le
& nbsp & nbsp informations pour le nom d'utilisateur de la propriete fondee sur le login, le Sortmethod
& nbsp & nbsp propriete et le LengthPassword de la propriete. Le programmeur devrait inclure
& nbsp & nbsp dans l'ecran de connexion d'un appel a validatepassword avec le mot de passe entre
& nbsp & nbsp tant que parametre. Si le mot de passe entre est le mot de passe temporaire, le
& nbsp & nbsp programme peut leur permettre d'entrer dans le systeme ou de prendre toutes les mesures est ensuite
& nbsp & nbsp appropriee pour l'application. L'administrateur de la fin, ils ont
& nbsp & nbsp acces a un formulaire pour qu'ils seraient en mesure de faire des appels a l'
& nbsp & nbsp createmethod methode.
Proprietes :
& ! & ! & ! & nbsp nom d'utilisateur (string) - C'est la chaîne des criteres propres a chaque utilisateur. Il peut etre
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp un nom d'utilisateur, id utilisateur, etc., mais en general, doit etre le meme
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp chaîne de caracteres qui est utilise pour ouvrir une session dans le systeme, alors que les chaînes de caracteres
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp sera le meme sur l'utilisateur et de l'administrateur des machines.
& ! & ! & ! & nbsp SortMethod (stDateOnly, stDateHour) - Definit si le mot de passe genere
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp etre valable toute la journee ou l'heure actuelle.
& ! & ! & ! & nbsp LengthPassword (entier) - Longueur de la suite de mot de passe.
& ! & ! & ! & nbsp TimeZoneHours (entier) - Nombre d'heures de route a partir de l'administrateur que c'est a l'utilisateur.
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp valeur par Defaut est zero. Pour les fuseaux horaires avec un plus de temps que le
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp administrateur, l'utilisation d'un nombre negatif.
** a Noter que les trois premieres proprietes doivent etre identiques
& ! & ! & ! & ! & ! & ! & ! & nbsp sur l'utilisateur et les programmes d'administration **
Methodes :
& nbsp & nbsp CreatePassword - sur la Base du nom d'utilisateur, SortMethod, & PasswordLength, un unique mot de passe
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp est retourne.
& nbsp & nbsp ValidatePassword - Base sur le mot de passe transmis a la fonction, une valeur booleenne
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp True ou False sera retourne si le mot de passe est bon
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp & ! & ! & ! & nbsp pour le nom d'utilisateur, SortMethod, & PasswordLength.
Tous les commentaires, remarques, etc. sont les bienvenus. Veuillez repondre a [email protected]
le droit d'Auteur De 1996 Apogee des Systemes d'Information
*********************************************************************)
unite de Quickpw
interface

& nbsp & nbsp SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
& nbsp & nbsp Formes, Les boîtes de dialogue
& nbsp & nbsp {
& nbsp & nbsp stDateOnly - le Mot de passe est compose de la date seulement bonne pour toute la journee
& nbsp & nbsp stDateHour - le Mot de passe est compose de jour-heure - bon pour l'heure actuelle seulement }
type
& nbsp & nbsp TSortType = (stDateOnly,stDateHour)
& nbsp & nbsp TAISQuickPW = class(TComponent)
& nbsp & nbsp prive
& ! & ! & ! & nbsp FUserName : string
& ! & ! & ! & nbsp FSortMethod : TSortType
& ! & ! & ! & nbsp FLengthPassword : integer
& ! & ! & ! & nbsp FTimeZoneHours : integer
& ! & ! & ! & nbsp fonction ReturnPW(CreatingPassword: Boolean) : String
& ! & ! & ! & nbsp fonction IsValidSelections : Boolean
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp protege
& ! & ! & ! & nbsp { declarations Protegees }
& nbsp & nbsp public
& ! & ! & ! & nbsp constructor Create(AOwner:TComponent) remplacer
& ! & ! & ! & nbsp destructeur de Detruire remplacer
& ! & ! & ! & nbsp fonction CreatePassword : String
& ! & ! & ! & nbsp fonction ValidatePassword(PWord: String) : boolean
& ! & ! & ! & nbsp { declarations Publiques }
& nbsp & nbsp publie
& ! & ! & ! & nbsp { nom d'utilisateur doit etre identique sur l'utilisateur-administrateur se termine }
& ! & ! & ! & nbsp propriete UserName : string lire FUserName ecrire FUserName
& ! & ! & ! & nbsp propriete SortMethod : TSortType lire FSortMethod ecrire FSortMethod
& ! & ! & ! & nbsp { plus La LengthPassword propriete est, le plus securise du mot de passe }
& ! & ! & ! & nbsp propriete LengthPassword : integer lire FLengthPassword ecrire FLengthPassword
& ! & ! & ! & nbsp { Le nombre d'heures de route, ou, de la utilisateurs du fuseau horaire. Valeur par defaut est 0 }
& ! & ! & ! & nbsp propriete TimeZoneHours : integer lire FTimeZoneHours ecrire FTimeZoneHours
& ! & ! & ! & nbsp { Publie des declarations }
& nbsp & nbsp fin
procedure Register
application

Constructeur TAISQuickPW.Create(AOwner:TComponent)
begin
& nbsp & nbsp Herite Create(AOwner)
fin
Destructeur TAISQuickPW.Detruire
begin
& nbsp & nbsp Herite de Detruire
fin
procedure Register
begin
& nbsp & nbsp RegisterComponents('Apogee', [TAISQuickPW])
fin
{ Cette fonction genere le mot de passe. }
fonction de TAISQuickPW.ReturnPW(CreatingPassword: Boolean) : String
var
& nbsp & nbsp Mot de passe : String
& nbsp & nbsp PassBasis : Reel
& nbsp & nbsp NameMultiplier,
& nbsp & nbsp CurrentHour,
& nbsp & nbsp DayAdjustment : integer
& nbsp & nbsp ThisDate : TDateTime
const
& nbsp & nbsp multiplicateur = 0.092292080396 { Multiplicateur Aleatoire - Ce qui garantit qu'une fraction entraînera }
begin
& nbsp & nbsp DayAdjustment := 0
& nbsp & nbsp ThisDate := Date
& nbsp & nbsp CurrentHour := StrToInt(FormatDateTime('h',ThisDate))
& nbsp & nbsp si la Longueur(FUserName) > 3
& ! & ! & ! & nbsp NameMultiplier := Ord(FUserName[1]) Ord(FUserName[2]) Ord(FUserName[3])
& nbsp & nbsp else
& ! & ! & ! & nbsp NameMultiplier := 13 { Si le nom d'utilisateur est a moins de trois chiffres, utilisez le numero temp }
& nbsp & nbsp si CreatingPassword alors { Uniquement ajuster le temps en fonction de la difference de fuseau horaire, si
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp creation de mot de passe. Validifying les mots de passe se fait
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp a l'utilisateur final, ou la difference de fuseau horaire est a la base
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp pour la creation de mot de passe de l'Administrateur de la fin. En
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp ce cas, aucun ajustement n'est necessaire. }
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp si (CurrentHour TimeZoneHours) > 23
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp CurrentHour := CurrentHour - 24
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp DayAdjustment := 1
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & ! & ! & nbsp si (CurrentHour TimeZoneHours) < 0 alors
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp CurrentHour := 24 CurrentHour
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp DayAdjustment := -1
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp ThisDate := ThisDate DayAdjustment
& ! & ! & ! & nbsp fin
& nbsp & nbsp si FSortMethod = stDateHour puis
& ! & ! & ! & nbsp NameMultiplier := NameMultiplier CurrentHour
& nbsp & nbsp { Multiplier nom dependant du nombre par date dependant du nombre pour obtenir une valeur unique pour
& ! & ! & ! & nbsp chaque jour de l'annee pour chaque utilisateur. Multipliez cela par un multiplicateur aleatoire (const value)
& ! & ! & ! & nbsp pour s'assurer qu'une fraction toujours les resultats. Prendre FLengthPassword chiffres de la fraction
& ! & ! & ! & nbsp finale de mot de passe. Notez que si la partie fractionnaire de moins de chiffres que
& ! & ! & ! & nbsp FLengthPassword, un mot de passe avec moins de chiffres que FLengthPassword du resultat. Programme
& ! & ! & ! & nbsp va encore creer et/ou valider les mots de passe normalement. }
& nbsp & nbsp PassBasis := NameMultiplier *
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp StrToInt(FormatDateTime ('aaaa', ThisDate)) /
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp (StrToInt(FormatDateTime('d',ThisDate)) * StrToInt(FormatDateTime('m',ThisDate))) *
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp multiplicateur
& nbsp & nbsp Mot de passe := copy(FloatToStr(PassBasis - Trunc(PassBasis)),3,FLengthPassword)
& nbsp & nbsp Resultat := Mot de passe
fin
fonction de TAISQuickPW.IsValidSelections : Boolean
begin
& nbsp & nbsp Result := False
& nbsp & nbsp si ((FUserName <> ') et
& ! & ! & ! & ! & nbsp ((FSortMethod = stDateHour) ou (FSortMethod = stDateOnly)) et
& ! & ! & ! & ! & nbsp (FLengthPassword > 0)) puis
& ! & ! & ! & ! & ! & ! & ! & nbsp Result := True
fin
fonction de TAISQuickPW.CreatePassword : String
var
& nbsp & nbsp NewPW : String
begin
& nbsp & nbsp Resultat := ' { par Defaut en cas d'erreur }
& nbsp & nbsp si IsValidSelections puis
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp NewPW := ReturnPW(Vrai)
& ! & ! & ! & ! & ! & nbsp Resultat := NewPW
& ! & ! & ! & nbsp fin
fin
fonction de TAISQuickPW.ValidatePassword(PWord : String) : boolean
begin
& nbsp & nbsp Result := False { par Defaut en cas d'erreur }
& nbsp & nbsp si IsValidSelections puis
& ! & ! & ! & nbsp si ReturnPW(Faux) = PWord puis
& ! & ! & ! & ! & ! & nbsp Resultat := True
& ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & nbsp Result := False
fin
a la fin.


Mot de passe composant

Mot de passe composant : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation