Contraseña componente


Un componente para la generación de contraseñas temporales.
Colaborador: el APOGEO de los SISTEMAS de INFORMACIÓN
(*******************************************************************
AISQuickPassword - puerta Trasera de la Contraseña de la generación de Componentes para Delphi
fecha de creación : El 25 de septiembre de 1996
Creado por : Dennis P. Butler
Objetivo :
& nbsp & nbsp El propósito de este componente es permitir a un programador para usar la contraseña
& nbsp & nbsp de la seguridad en un proyecto, pero no estar limitado por tener que venir para arriba con
& nbsp & nbsp un plan para manejar las contraseñas olvidadas. Este componente permite la
& nbsp & nbsp programador para hacer de sus proyectos, generar contraseñas temporales para la
& nbsp & nbsp usuarios del proyecto.
Descripción :
& nbsp & nbsp perpetuo problema con las contraseñas es que los usuarios a menudo se olvidan de su
& nbsp & nbsp contraseña, llevando a que muchos adminsitrative problemas. Estos problemas son:
& nbsp & nbsp especialmente grave si una aplicación es el uso de tablas locales y se
& nbsp & nbsp ejecutar en un ordenador portátil, en el que un administrador no puede fácilmente ser capaz de ayudar a los
& nbsp & nbsp el usuario si no están en el mismo lugar. Este componente permite
& nbsp & nbsp el administrador para generar una contraseña temporal basado en el inicio de sesión
& nbsp & nbsp criterios del usuario. Esta contraseña puede ser bueno para todo el día o
& nbsp & nbsp la hora específica, basada en el uso en el programa. El componente también
& nbsp & nbsp permite que las contraseñas generadas por los usuarios en una zona horaria diferente.
& nbsp & nbsp Por ejemplo, si un usuario en una zona horaria diferente a la de administrador
& nbsp & nbsp llamadas ganas de una puerta trasera contraseña para sí mismos, especialmente si la
& nbsp & nbsp hora de la contraseña de la opción elegida, a continuación, la hora de desplazamiento en la
& nbsp & nbsp TimeZoneHours campo puede alojar este y producir una contraseña correcta
& nbsp & nbsp para los usuarios de la máquina.
el Uso de los Componentes :
& nbsp & nbsp Uso de este componente se supone que hay al menos dos tipos de personas
& nbsp & nbsp que va a utilizar el sistema, los usuarios normales y los administradores. Sólo
& nbsp & nbsp administradores tienen la capacidad de generar backdoor las contraseñas de los usuarios.
& nbsp & nbsp En una aplicación típica, hay una pantalla de inicio de sesión para entrar en el sistema.
& nbsp & nbsp Utilizando el AISQuickPassword componente, la aplicación de relleno en la
& nbsp & nbsp información para el nombre de Usuario de la propiedad basada en el inicio de sesión, la Sortmethod
& nbsp & nbsp de la propiedad, y la LengthPassword de la propiedad. El programador include
& nbsp & nbsp en la pantalla de inicio de sesión una llamada a validatepassword con la contraseña introducida
& nbsp & nbsp como un parámetro. Si la contraseña introducida es la contraseña temporal, la
& nbsp & nbsp programa les puede permitir entrar en el sistema a tomar las medidas que luego se
& nbsp & nbsp apropiado para la aplicación. En el administrador de final, tendrían
& nbsp & nbsp acceso a un formulario donde sólo ellos serían capaces de hacer llamadas a la
& nbsp & nbsp createmethod método.
Propiedades :
& nbsp & nbsp & nbsp & nbsp nombre de Usuario (string) - Esta es la cadena de criterios únicos para cada usuario. Puede ser
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp un nombre de usuario, id de usuario, etc., pero en general, debe ser la misma
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp cadena que se utiliza para iniciar sesión en el sistema, de modo que las cadenas
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp será el mismo que el del usuario y del administrador de máquinas.
& nbsp & nbsp & nbsp & nbsp SortMethod (stDateOnly, stDateHour) - Define si la contraseña generada se
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ser válido para todo el día o la hora actual.
& nbsp & nbsp & nbsp & nbsp LengthPassword (entero) - Longitud de la resultante de la contraseña.
& nbsp & nbsp & nbsp & nbsp TimeZoneHours (entero) - Número de horas de distancia desde el administrador de que el usuario está en.
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp valor Predeterminado es cero. Para zonas de tiempo con un momento anterior de la
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp administrador, utilice un número negativo.
** tenga en cuenta que las tres primeras propiedades deben ser idénticos
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp sobre el usuario y programas administrativos **
Métodos :
& nbsp & nbsp CreatePassword Basado en el nombre de Usuario, SortMethod, & PasswordLength, una contraseña única
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp devuelto.
& nbsp & nbsp ValidatePassword Basada en la contraseña, se pasa a la función, un valor booleano
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Verdadero o Falso, será devuelto si la contraseña es correcta
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp para el nombre de Usuario, SortMethod, & PasswordLength.
Cualquier información, comentario, etc. son bienvenidos. Por favor, responda a [email protected]
derechos de Autor De 1996 Apogeo de los Sistemas de Información
*********************************************************************)
unidad de Quickpw
interfaz
usos
& nbsp & nbsp SysUtils, WinTypes, unidades winprocs, Mensajes, Clases, Gráficos, Controles,
& nbsp & nbsp Formas, Cuadros de diálogo
& nbsp & nbsp {
& nbsp & nbsp stDateOnly - Contraseña se compone de fecha sólo bueno para todo el día
& nbsp & nbsp stDateHour - Contraseña se compone de fecha-hora - buena para la hora actual sólo }
tipo
& nbsp & nbsp TSortType = (stDateOnly,stDateHour)
& nbsp & nbsp TAISQuickPW = clase(TComponent)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp FUserName : string
& nbsp & nbsp & nbsp & nbsp FSortMethod : TSortType
& nbsp & nbsp & nbsp & nbsp FLengthPassword : integer
& nbsp & nbsp & nbsp & nbsp FTimeZoneHours : integer
& nbsp & nbsp & nbsp & nbsp función ReturnPW(CreatingPassword: Boolean) : Cadena
& nbsp & nbsp & nbsp & nbsp función IsValidSelections : Boolean
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp protegido
& nbsp & nbsp & nbsp & nbsp { declaraciones Protegidos }
& nbsp & nbsp pública
& nbsp & nbsp & nbsp & nbsp constructor Create(AOwner:TComponent) reemplazar
& nbsp & nbsp & nbsp & nbsp destructor Destruir reemplazar
& nbsp & nbsp & nbsp & nbsp función CreatePassword : String
& nbsp & nbsp & nbsp & nbsp función ValidatePassword(PWord: String) : boolean
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp publicado
& nbsp & nbsp & nbsp & nbsp { nombre de Usuario debe ser el mismo en que el usuario administrador extremos }
& nbsp & nbsp & nbsp & nbsp propiedad UserName : string leer FUserName escribir FUserName
& nbsp & nbsp & nbsp & nbsp propiedad SortMethod : TSortType leer FSortMethod escribir FSortMethod
& nbsp & nbsp & nbsp & nbsp { El más largo es el LengthPassword la propiedad es, la más segura es la contraseña }
& nbsp & nbsp & nbsp & nbsp propiedad LengthPassword : entero leer FLengthPassword escribir FLengthPassword
& nbsp & nbsp & nbsp & nbsp { El número de horas de distancia, o -, de los usuarios de zona horaria. 0 es el valor por defecto }
& nbsp & nbsp & nbsp & nbsp propiedad TimeZoneHours : entero leer FTimeZoneHours escribir FTimeZoneHours
& nbsp & nbsp & nbsp & nbsp { Publicado declaraciones }
& nbsp & nbsp final
procedimiento de Registro
aplicación

Constructor TAISQuickPW.Create(AOwner:TComponent)
begin
& nbsp & nbsp Inherited Create(AOwner)
fin
Destructor TAISQuickPW.Destruir
begin
& nbsp & nbsp Heredado Destruir
fin
procedimiento de Registro
begin
& nbsp & nbsp RegisterComponents('Auge', [TAISQuickPW])
fin
{ Esta función genera la contraseña. }
función TAISQuickPW.ReturnPW(CreatingPassword: Boolean) : String
var
& nbsp & nbsp Contraseña : String
& nbsp & nbsp PassBasis : Real
& nbsp & nbsp NameMultiplier,
& nbsp & nbsp CurrentHour,
& nbsp & nbsp DayAdjustment : integer
& nbsp & nbsp ThisDate : TDateTime
const
& nbsp & nbsp multiplicador = 0.092292080396 { Multiplicador Aleatorio - Esto asegura que una fracción resultará }
begin
& nbsp & nbsp DayAdjustment := 0
& nbsp & nbsp ThisDate := Fecha
& nbsp & nbsp CurrentHour := StrToInt(FormatDateTime('h',ThisDate))
& nbsp & nbsp si Longitud(FUserName) > 3 y
& nbsp & nbsp & nbsp & nbsp NameMultiplier := Ord(FUserName[1]) Ord(FUserName[2]) Ord(FUserName[3])
& nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp NameMultiplier := 13 { Si el nombre de Usuario es de menos de tres dígitos, utilice el número temporal }
& nbsp & nbsp si CreatingPassword entonces { Sólo el tiempo de ajuste basado en la diferencia de zona horaria si
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp creación de la contraseña. Validifying contraseñas se hace
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp al usuario final, donde la diferencia de zona horaria es la base
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp para la creación de la contraseña de Administrador de final. En
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp este caso no hay tiempo de ajuste es necesario. }
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si (CurrentHour TimeZoneHours) > 23
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp CurrentHour := CurrentHour - 24
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DayAdjustment := 1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si (CurrentHour TimeZoneHours) < 0, entonces
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp CurrentHour := 24 CurrentHour
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DayAdjustment := -1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ThisDate := ThisDate DayAdjustment
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp si FSortMethod = stDateHour, a continuación,
& nbsp & nbsp & nbsp & nbsp NameMultiplier := NameMultiplier CurrentHour
& nbsp & nbsp { Multiplicar nombre número de dependientes por fecha dependiente de número para obtener un valor único para
& nbsp & nbsp & nbsp & nbsp cada día del año de cada usuario. Multiplica esto por un multiplicador aleatorio (const value)
& nbsp & nbsp & nbsp & nbsp para asegurarse de que una fracción siempre los resultados. Tomar FLengthPassword dígitos de la fracción como
& nbsp & nbsp & nbsp & nbsp el final de la contraseña. Tenga en cuenta que si la parte decimal funciona a menos dígitos que
& nbsp & nbsp & nbsp & nbsp FLengthPassword, una contraseña con menos dígitos que FLengthPassword será el resultado. Programa
& nbsp & nbsp & nbsp & nbsp todavía crear/validar contraseñas normalmente. }
& nbsp & nbsp PassBasis := NameMultiplier *
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp StrToInt(FormatDateTime('aaaa',ThisDate)) /
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp (StrToInt(FormatDateTime('d',ThisDate)) * StrToInt(FormatDateTime('m',ThisDate))) *
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp multiplicador
& nbsp & nbsp Contraseña := copy(FloatToStr(PassBasis - Trunc(PassBasis)),3,FLengthPassword)
& nbsp & nbsp Resultado := Contraseña
fin
función TAISQuickPW.IsValidSelections : Boolean
begin
& nbsp & nbsp Resultado := False
& nbsp & nbsp if ((FUserName <> ') y
& nbsp & nbsp & nbsp & nbsp & nbsp ((FSortMethod = stDateHour) o (FSortMethod = stDateOnly)) y
& nbsp & nbsp & nbsp & nbsp & nbsp (FLengthPassword > 0)) a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := True
fin
función TAISQuickPW.CreatePassword : String
var
& nbsp & nbsp NewPW : String
begin
& nbsp & nbsp Resultado := ' { Default si el error }
& nbsp & nbsp si IsValidSelections, a continuación,
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp NewPW := ReturnPW(Verdadero)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := NewPW
& nbsp & nbsp & nbsp & nbsp final
fin
función TAISQuickPW.ValidatePassword(PWord : String) : boolean
begin
& nbsp & nbsp Resultado := False { Default si el error }
& nbsp & nbsp si IsValidSelections, a continuación,
& nbsp & nbsp & nbsp & nbsp si ReturnPW(False) = PWord, a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := True
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := False
fin
final.









Contraseña componente


Contraseña componente : Multi-millones de consejos para hacer su vida mas facil.


Un componente para la generacion de contraseñas temporales.
Colaborador: el APOGEO de los SISTEMAS de INFORMACION
(*******************************************************************
AISQuickPassword - puerta Trasera de la Contraseña de la generacion de Componentes para Delphi
fecha de creacion : El 25 de septiembre de 1996
Creado por : Dennis P. Butler
Objetivo :
& nbsp & nbsp El proposito de este componente es permitir a un programador para usar la contraseña
& nbsp & nbsp de la seguridad en un proyecto, pero no estar limitado por tener que venir para arriba con
& nbsp & nbsp un plan para manejar las contraseñas olvidadas. Este componente permite la
& nbsp & nbsp programador para hacer de sus proyectos, generar contraseñas temporales para la
& nbsp & nbsp usuarios del proyecto.
Descripcion :
& nbsp & nbsp perpetuo problema con las contraseñas es que los usuarios a menudo se olvidan de su
& nbsp & nbsp contraseña, llevando a que muchos adminsitrative problemas. Estos problemas son:
& nbsp & nbsp especialmente grave si una aplicacion es el uso de tablas locales y se
& nbsp & nbsp ejecutar en un ordenador portatil, en el que un administrador no puede facilmente ser capaz de ayudar a los
& nbsp & nbsp el usuario si no estan en el mismo lugar. Este componente permite
& nbsp & nbsp el administrador para generar una contraseña temporal basado en el inicio de sesion
& nbsp & nbsp criterios del usuario. Esta contraseña puede ser bueno para todo el dia o
& nbsp & nbsp la hora especifica, basada en el uso en el programa. El componente tambien
& nbsp & nbsp permite que las contraseñas generadas por los usuarios en una zona horaria diferente.
& nbsp & nbsp Por ejemplo, si un usuario en una zona horaria diferente a la de administrador
& nbsp & nbsp llamadas ganas de una puerta trasera contraseña para si mismos, especialmente si la
& nbsp & nbsp hora de la contraseña de la opcion elegida, a continuacion, la hora de desplazamiento en la
& nbsp & nbsp TimeZoneHours campo puede alojar este y producir una contraseña correcta
& nbsp & nbsp para los usuarios de la maquina.
el Uso de los Componentes :
& nbsp & nbsp Uso de este componente se supone que hay al menos dos tipos de personas
& nbsp & nbsp que va a utilizar el sistema, los usuarios normales y los administradores. Solo
& nbsp & nbsp administradores tienen la capacidad de generar backdoor las contraseñas de los usuarios.
& nbsp & nbsp En una aplicacion tipica, hay una pantalla de inicio de sesion para entrar en el sistema.
& nbsp & nbsp Utilizando el AISQuickPassword componente, la aplicacion de relleno en la
& nbsp & nbsp informacion para el nombre de Usuario de la propiedad basada en el inicio de sesion, la Sortmethod
& nbsp & nbsp de la propiedad, y la LengthPassword de la propiedad. El programador include
& nbsp & nbsp en la pantalla de inicio de sesion una llamada a validatepassword con la contraseña introducida
& nbsp & nbsp como un parametro. Si la contraseña introducida es la contraseña temporal, la
& nbsp & nbsp programa les puede permitir entrar en el sistema a tomar las medidas que luego se
& nbsp & nbsp apropiado para la aplicacion. En el administrador de final, tendrian
& nbsp & nbsp acceso a un formulario donde solo ellos serian capaces de hacer llamadas a la
& nbsp & nbsp createmethod metodo.
Propiedades :
& nbsp & nbsp & nbsp & nbsp nombre de Usuario (string) - Esta es la cadena de criterios unicos para cada usuario. Puede ser
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp un nombre de usuario, id de usuario, etc., pero en general, debe ser la misma
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp cadena que se utiliza para iniciar sesion en el sistema, de modo que las cadenas
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp sera el mismo que el del usuario y del administrador de maquinas.
& nbsp & nbsp & nbsp & nbsp SortMethod (stDateOnly, stDateHour) - Define si la contraseña generada se
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ser valido para todo el dia o la hora actual.
& nbsp & nbsp & nbsp & nbsp LengthPassword (entero) - Longitud de la resultante de la contraseña.
& nbsp & nbsp & nbsp & nbsp TimeZoneHours (entero) - Numero de horas de distancia desde el administrador de que el usuario esta en.
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp valor Predeterminado es cero. Para zonas de tiempo con un momento anterior de la
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp administrador, utilice un numero negativo.
** tenga en cuenta que las tres primeras propiedades deben ser identicos
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp sobre el usuario y programas administrativos **
Metodos :
& nbsp & nbsp CreatePassword Basado en el nombre de Usuario, SortMethod, & PasswordLength, una contraseña unica
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp devuelto.
& nbsp & nbsp ValidatePassword Basada en la contraseña, se pasa a la funcion, un valor booleano
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Verdadero o Falso, sera devuelto si la contraseña es correcta
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp para el nombre de Usuario, SortMethod, & PasswordLength.
Cualquier informacion, comentario, etc. son bienvenidos. Por favor, responda a [email protected]
derechos de Autor De 1996 Apogeo de los Sistemas de Informacion
*********************************************************************)
unidad de Quickpw
interfaz
usos
& nbsp & nbsp SysUtils, WinTypes, unidades winprocs, Mensajes, Clases, Graficos, Controles,
& nbsp & nbsp Formas, Cuadros de dialogo
& nbsp & nbsp {
& nbsp & nbsp stDateOnly - Contraseña se compone de fecha solo bueno para todo el dia
& nbsp & nbsp stDateHour - Contraseña se compone de fecha-hora - buena para la hora actual solo }
tipo
& nbsp & nbsp TSortType = (stDateOnly,stDateHour)
& nbsp & nbsp TAISQuickPW = clase(TComponent)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp FUserName : string
& nbsp & nbsp & nbsp & nbsp FSortMethod : TSortType
& nbsp & nbsp & nbsp & nbsp FLengthPassword : integer
& nbsp & nbsp & nbsp & nbsp FTimeZoneHours : integer
& nbsp & nbsp & nbsp & nbsp funcion ReturnPW(CreatingPassword: Boolean) : Cadena
& nbsp & nbsp & nbsp & nbsp funcion IsValidSelections : Boolean
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp protegido
& nbsp & nbsp & nbsp & nbsp { declaraciones Protegidos }
& nbsp & nbsp publica
& nbsp & nbsp & nbsp & nbsp constructor Create(AOwner:TComponent) reemplazar
& nbsp & nbsp & nbsp & nbsp destructor Destruir reemplazar
& nbsp & nbsp & nbsp & nbsp funcion CreatePassword : String
& nbsp & nbsp & nbsp & nbsp funcion ValidatePassword(PWord: String) : boolean
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp publicado
& nbsp & nbsp & nbsp & nbsp { nombre de Usuario debe ser el mismo en que el usuario administrador extremos }
& nbsp & nbsp & nbsp & nbsp propiedad UserName : string leer FUserName escribir FUserName
& nbsp & nbsp & nbsp & nbsp propiedad SortMethod : TSortType leer FSortMethod escribir FSortMethod
& nbsp & nbsp & nbsp & nbsp { El mas largo es el LengthPassword la propiedad es, la mas segura es la contraseña }
& nbsp & nbsp & nbsp & nbsp propiedad LengthPassword : entero leer FLengthPassword escribir FLengthPassword
& nbsp & nbsp & nbsp & nbsp { El numero de horas de distancia, o -, de los usuarios de zona horaria. 0 es el valor por defecto }
& nbsp & nbsp & nbsp & nbsp propiedad TimeZoneHours : entero leer FTimeZoneHours escribir FTimeZoneHours
& nbsp & nbsp & nbsp & nbsp { Publicado declaraciones }
& nbsp & nbsp final
procedimiento de Registro
aplicacion

Constructor TAISQuickPW.Create(AOwner:TComponent)
begin
& nbsp & nbsp Inherited Create(AOwner)
fin
Destructor TAISQuickPW.Destruir
begin
& nbsp & nbsp Heredado Destruir
fin
procedimiento de Registro
begin
& nbsp & nbsp RegisterComponents('Auge', [TAISQuickPW])
fin
{ Esta funcion genera la contraseña. }
funcion TAISQuickPW.ReturnPW(CreatingPassword: Boolean) : String
var
& nbsp & nbsp Contraseña : String
& nbsp & nbsp PassBasis : Real
& nbsp & nbsp NameMultiplier,
& nbsp & nbsp CurrentHour,
& nbsp & nbsp DayAdjustment : integer
& nbsp & nbsp ThisDate : TDateTime
const
& nbsp & nbsp multiplicador = 0.092292080396 { Multiplicador Aleatorio - Esto asegura que una fraccion resultara }
begin
& nbsp & nbsp DayAdjustment := 0
& nbsp & nbsp ThisDate := Fecha
& nbsp & nbsp CurrentHour := StrToInt(FormatDateTime('h',ThisDate))
& nbsp & nbsp si Longitud(FUserName) > 3 y
& nbsp & nbsp & nbsp & nbsp NameMultiplier := Ord(FUserName[1]) Ord(FUserName[2]) Ord(FUserName[3])
& nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp NameMultiplier := 13 { Si el nombre de Usuario es de menos de tres digitos, utilice el numero temporal }
& nbsp & nbsp si CreatingPassword entonces { Solo el tiempo de ajuste basado en la diferencia de zona horaria si
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp creacion de la contraseña. Validifying contraseñas se hace
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp al usuario final, donde la diferencia de zona horaria es la base
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp para la creacion de la contraseña de Administrador de final. En
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp este caso no hay tiempo de ajuste es necesario. }
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si (CurrentHour TimeZoneHours) > 23
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp CurrentHour := CurrentHour - 24
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DayAdjustment := 1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si (CurrentHour TimeZoneHours) < 0, entonces
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp CurrentHour := 24 CurrentHour
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DayAdjustment := -1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ThisDate := ThisDate DayAdjustment
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp si FSortMethod = stDateHour, a continuacion,
& nbsp & nbsp & nbsp & nbsp NameMultiplier := NameMultiplier CurrentHour
& nbsp & nbsp { Multiplicar nombre numero de dependientes por fecha dependiente de numero para obtener un valor unico para
& nbsp & nbsp & nbsp & nbsp cada dia del año de cada usuario. Multiplica esto por un multiplicador aleatorio (const value)
& nbsp & nbsp & nbsp & nbsp para asegurarse de que una fraccion siempre los resultados. Tomar FLengthPassword digitos de la fraccion como
& nbsp & nbsp & nbsp & nbsp el final de la contraseña. Tenga en cuenta que si la parte decimal funciona a menos digitos que
& nbsp & nbsp & nbsp & nbsp FLengthPassword, una contraseña con menos digitos que FLengthPassword sera el resultado. Programa
& nbsp & nbsp & nbsp & nbsp todavia crear/validar contraseñas normalmente. }
& nbsp & nbsp PassBasis := NameMultiplier *
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp StrToInt(FormatDateTime('aaaa',ThisDate)) /
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp (StrToInt(FormatDateTime('d',ThisDate)) * StrToInt(FormatDateTime('m',ThisDate))) *
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp multiplicador
& nbsp & nbsp Contraseña := copy(FloatToStr(PassBasis - Trunc(PassBasis)),3,FLengthPassword)
& nbsp & nbsp Resultado := Contraseña
fin
funcion TAISQuickPW.IsValidSelections : Boolean
begin
& nbsp & nbsp Resultado := False
& nbsp & nbsp if ((FUserName <> ') y
& nbsp & nbsp & nbsp & nbsp & nbsp ((FSortMethod = stDateHour) o (FSortMethod = stDateOnly)) y
& nbsp & nbsp & nbsp & nbsp & nbsp (FLengthPassword > 0)) a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := True
fin
funcion TAISQuickPW.CreatePassword : String
var
& nbsp & nbsp NewPW : String
begin
& nbsp & nbsp Resultado := ' { Default si el error }
& nbsp & nbsp si IsValidSelections, a continuacion,
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp NewPW := ReturnPW(Verdadero)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := NewPW
& nbsp & nbsp & nbsp & nbsp final
fin
funcion TAISQuickPW.ValidatePassword(PWord : String) : boolean
begin
& nbsp & nbsp Resultado := False { Default si el error }
& nbsp & nbsp si IsValidSelections, a continuacion,
& nbsp & nbsp & nbsp & nbsp si ReturnPW(False) = PWord, a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := True
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := False
fin
final.


Contraseña componente

Contraseña componente : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación