Yo utilizo algo tal que así:
' * ==================================================================
' * = GENERACIÓN DE 50 CONTRASEÑAS ALEATORIAS DE LONGINTUD ENTRE =
' * = 5 Y 10 DIGITOS =
' * ==================================================================
H DftActGrp( *NO ) ActGrp( *NEW )
FQSYSPRT O F 132 PRINTER OfLind( *INOF )
'D* Símbolos válidos para una contraseña
D CHAR C Const('ABCDEFGHIJKLMNOPQRSTUVWXYZ012-
D 3456789')
D RandNbrGenerator...
D PR ExtProc( 'CEERAN0' )
D Seed 10I 0
TypeInt
D RndNbr0_1 8F
TypeDouble
D FbCode 12A Options( *NOPASS )
D RandNbrGenLim PR 10I 0
D MinNbr 10I 0 Const
D MaxNbr 10I 0 Const
'D* Contraseña
D idnt S 10A
'C* Variables de trabajo
D idLen S 2S 0 Inz( 0 )
D j S Like( idLen )
D x S 5I 0
/Free
Except HEAD3;
For x = 1 To 50;
idnt = *BLANKS;
' //--------------------------------------------------------------
' // Generar la longitud de la contrseña (entr 5 y 10)
' //--------------------------------------------------------------
idLen = RandNbrGenLim( 5: 10 );
' //--------------------------------------------------------------
' // El primer carácter debe de ser alfabético
' //--------------------------------------------------------------
idnt = %Subst( CHAR
: RandNbrGenLim( 1: %Size( CHAR ) - 10 )
: 1 );
' //--------------------------------------------------------------
' // Generar el resto de los caracteres de la contraseña
' //--------------------------------------------------------------
For j = 2 To idLen;
%Subst( idnt: j: 1 ) = %Subst( CHAR
: RandNbrGenLim( 1: %Size( CHAR ) )
: 1 );
EndFor;
' //--------------------------------------------------------------
' // Imprimir la contraseña generada
' //--------------------------------------------------------------
Except DETL3;
EndFor;
*INLR = *ON;
/End-Free
' * ==================================================================
' * = Impresión de las contraseñas generadas =
' * ==================================================================
OQSYSPRT E HEAD3 2
O 30 'GENERADOR DE CO'
O + 0 'TRASEÑAS'
O E DETL3 1
O idnt 30
' * ==================================================================
' * = Generar número aleaterio dentro de unos límites =
' * ==================================================================
P RandNbrGenLim...
P B
D PI 10I 0
D MinNbr 10I 0 Const
D MaxNbr 10I 0 Const
D semilla S 10I 0 Static
D Inz( 0 )
D nprime S Like( MaxNbr )
D num0_1 S 8F Inz( 0 )
/Free
nprime = MaxNbr - MinNbr + 1;
RandNbrGenerator( semilla: num0_1 );
Return ( %Int( num0_1 * nprime ) + MinNbr );
/End-Free
P RandNbrGenLim...
P E
De: [email protected]
[mailto:[email protected]] En nombre de Joss DJ
Enviado el: viernes, 26 de agosto de 2016 21:24
Para: [email protected]
Asunto: Solicitud de Ayuda Random de letras.
Estimados, buena tarde.
Solicito de favor su amable ayuda, por necesidades de trabajo tengo que generar
en un proceso una contraseña con letras aleatorias (random) del abecedario,
alguien tiene una rutina que me pueda enviar para revisar como se puede hacer
ya que desconozco como lo podría hacer.
Gracias anticipadas por su valioso apoyo.
Saludos Cordiales,
José De Jesús.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.