La función permite ser invocada con o sin parámetro del modo siguiente:
Do method $PassGen() Returns Password
Por ejemplo devolvería: Password = x32Vn1
o mediante la especificación un parámetro con la longitud deseada:
Do method $PassGen(4) Returns Password
Por ejemplo devolvería: Password = 4cB3
Definición de la función:
; autor ;; Florent Pousserot
; método ;; $PassGen
; descripción ;; Generación aleatoria de contraseñas
; parametros ;; Parametro 1: Longitud de la contraseña deseada.
Por defecto 6 caracteres
; devuelve ;; La contraseña generada
Do zlCharAuthorize.$define('char')
For x from 48 to 57 step 1 ;; códigos ascii [0-9]
Do zlCharAuthorize.$add(chr(x))
End For
For x from 97 to 122 step 1 ;; códigos ascii [a-z]
Do zlCharAuthorize.$add(chr(x))
End For
For x from 1 to pcPassLength step 1
Calculate zlCursor as randrealrng(1,36) ;; devuelve un valor aleatorio entre 1 y 36 ; representa [0-9,a-z] <=> [10+26]
If mod(x,3) ;; modulo 3
Calculate zcPassword as con(zcPassword,zlCharAuthorize.[zlCursor].C1) ;; minúscula
Else
Calculate zcPassword as con(zcPassword,upp(zlCharAuthorize.[zlCursor].C1)) ;; mayúscula
End If
End For
Quit method zcPassword