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.

Responder a