La Api Qc3GenPRNs

http://www-01.ibm.com/support/docview.wss?uid=nas8N1016809

http://iprodeveloper.com/site-files/iprodeveloper.com/files/archive/iprodeveloper.com/artarchiveimages/2006/may/20518-fig3.html




El 29 de agosto de 2016, 10:42, Javier Mora <[email protected]> escribió:

> ¿De qué otras opciones dispone el sistema?
>
>
>
> Gracias Alex,
>
>
>
> Javier Mora
>
>
>
> *De:* [email protected] [mailto:
> [email protected]] *En nombre de *Alex Martínez
> *Enviado el:* lunes, 29 de agosto de 2016 10:25
> *Para:* forum.help400
> *Asunto:* Re: Solicitud de Ayuda Random de letras.
>
>
>
> Cuidado con la API CEERAN0 que no es todo lo aleatoria que parece... sobre
> los 30.000 ciclos empieza hay colisiones (repeticiones)
>
>
>
>
>
> El 29 de agosto de 2016, 8:58, Javier Mora <[email protected]> escribió:
>
> 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.
>
>
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a