[USflag] The American Programmer [USflag]


Home
Books on Mainframe Programming
Mainframe Manuals and Tutorials
System Abend codes, Sqlcodes, VSAM/QSAM codes
Everything about the IBM AS/400 Midrange Computer - iSeries
Everything about CICS
Everything about COBOL
Everything about DB2 and SQL
Everything about IMS
Everything about Java and JavaScript
Everything about JCL and JES
Everything about REXX
  Sorting in REXX: The Bubble Sort
  REXX Password Generator
  Using REXX to capture displayed output of TSO command
  Count records in REXX
  REXX program to calculate present value of money
  REXX function to format a number in currency format
  REXX function to produce a fixed-length number
  REXX program to produce lottery numbers
  REXX: what does your phone number spell?
  REXX Practice Problems.
  Just Enough REXX Tutorial
  Setting up to Execute REXX Programs on TSO/ISPF
  How to execute a REXX program
  REXX Boolean operators
  Comparison of CLIST language and REXX
  REXX Comparison operators
  REXX Debugging: the TRACE verb
  Using REXX OUTTRAP
  Reserved REXX Variables
  Executing REXX through JCL.
  Writing ISPF Edit Macros in REXX
  REXX program to unload a PDS
  REXX book: The REXX Language on TSO
  REXX Functions Book
  QMF Procedures Written in REXX
  Using REXX Subroutines with the QMF Calc panel
  REXX error codes (RC)
  REXX programming language manuals
  Books on REXX programming
  The REXX Files
Everything about zOS, VSAM, Tivoli, Assembler
Everything about TSO, ISPF, Spufi
Site Map and Site Search

           Home   > REXX   > REXX Password Generator

Create pseudo-random passwords with this REXX program

This illustrates the use of REXX compound variables (arrays)
/* REXX pwgen all platforms*/
/* REXX Password generator program.
   it creates one password in this format:

    4XECEVO
    5PASETI
    9DAPOTA
    7KAPIME
    1WEBAJI
    3TOPOVO
    2PAPIBA
    9WALAJE
    6SETANA
    4RAMARE
   No parameters need be passed to it. Simply execute it.
   This type password cannot be easily guessed.
   It will not be difficult to remember it,
   although it is nonsense syllables.
   Some of the passwords might even make you laugh.
   It will work on any platform that supports 
   REXX compound variables
   NetREXX will not work.
*/

NUM_TAB_1.   = "0";
NUM_TAB_1.1  = "5";NUM_TAB_1.2  = "1";NUM_TAB_1.3  = "9";
NUM_TAB_1.4  = "2";NUM_TAB_1.5  = "1";NUM_TAB_1.6  = "9";
NUM_TAB_1.7  = "7";NUM_TAB_1.8  = "7";NUM_TAB_1.9  = "6";
NUM_TAB_1.10 = "1";NUM_TAB_1.11 = "5";NUM_TAB_1.12 = "4";
NUM_TAB_1.13 = "9";NUM_TAB_1.14 = "3";NUM_TAB_1.15 = "9";
NUM_TAB_1.16 = "3";NUM_TAB_1.17 = "9";NUM_TAB_1.18 = "1";
NUM_TAB_1.19 = "1";NUM_TAB_1.20 = "2";NUM_TAB_1.21 = "8";
NUM_TAB_1.22 = "8";NUM_TAB_1.23 = "1";NUM_TAB_1.24 = "5";
NUM_TAB_1.25 = "4";NUM_TAB_1.26 = "6";NUM_TAB_1.27 = "2";
NUM_TAB_1.28 = "5";NUM_TAB_1.29 = "4";NUM_TAB_1.30 = "5";
NUM_TAB_1.31 = "2";NUM_TAB_1.32 = "7";NUM_TAB_1.33 = "9";
NUM_TAB_1.34 = "6";NUM_TAB_1.35 = "3";NUM_TAB_1.36 = "5";
NUM_TAB_1.37 = "9";NUM_TAB_1.38 = "9";NUM_TAB_1.39 = "2";
NUM_TAB_1.40 = "3";

CON_TAB_1.   = "?";
CON_TAB_1.1  = "J";CON_TAB_1.2  = "G";CON_TAB_1.3  = "H";
CON_TAB_1.4  = "B";CON_TAB_1.5  = "T";CON_TAB_1.6  = "V";
CON_TAB_1.7  = "J";CON_TAB_1.8  = "R";CON_TAB_1.9  = "C";
CON_TAB_1.10 = "G";CON_TAB_1.11 = "Q";CON_TAB_1.12 = "M";
CON_TAB_1.13 = "M";CON_TAB_1.14 = "P";CON_TAB_1.15 = "R";
CON_TAB_1.16 = "K";CON_TAB_1.17 = "S";CON_TAB_1.18 = "T";
CON_TAB_1.19 = "T";CON_TAB_1.20 = "D";CON_TAB_1.21 = "N";
CON_TAB_1.22 = "W";CON_TAB_1.23 = "X";CON_TAB_1.24 = "J";
CON_TAB_1.25 = "S";CON_TAB_1.26 = "J";CON_TAB_1.27 = "S";
CON_TAB_1.28 = "G";CON_TAB_1.29 = "R";CON_TAB_1.30 = "M";
CON_TAB_1.31 = "N";CON_TAB_1.32 = "Y";CON_TAB_1.33 = "K";
CON_TAB_1.34 = "M";CON_TAB_1.35 = "D";CON_TAB_1.36 = "B";
CON_TAB_1.37 = "C";CON_TAB_1.38 = "B";CON_TAB_1.39 = "L";
CON_TAB_1.40 = "S";

CON_TAB_2.   = "?";
CON_TAB_2.1  = "P";CON_TAB_2.2  = "F";CON_TAB_2.3  = "N";
CON_TAB_2.4  = "M";CON_TAB_2.5  = "P";CON_TAB_2.6  = "M";
CON_TAB_2.7  = "B";CON_TAB_2.8  = "S";CON_TAB_2.9  = "C";
CON_TAB_2.10 = "S";CON_TAB_2.11 = "T";CON_TAB_2.12 = "M";
CON_TAB_2.13 = "D";CON_TAB_2.14 = "P";CON_TAB_2.15 = "R";
CON_TAB_2.16 = "K";CON_TAB_2.17 = "S";CON_TAB_2.18 = "T";
CON_TAB_2.19 = "T";CON_TAB_2.20 = "F";CON_TAB_2.21 = "N";
CON_TAB_2.22 = "P";CON_TAB_2.23 = "V";CON_TAB_2.24 = "J";
CON_TAB_2.25 = "S";CON_TAB_2.26 = "J";CON_TAB_2.27 = "S";
CON_TAB_2.28 = "D";CON_TAB_2.29 = "L";CON_TAB_2.30 = "T";
CON_TAB_2.31 = "N";CON_TAB_2.32 = "N";CON_TAB_2.33 = "B";
CON_TAB_2.34 = "M";CON_TAB_2.35 = "P";CON_TAB_2.36 = "P";
CON_TAB_2.37 = "D";CON_TAB_2.38 = "S";CON_TAB_2.39 = "R";
CON_TAB_2.40 = "T";

CON_TAB_3.   = "?";
CON_TAB_3.1  = "D";CON_TAB_3.2  = "N";CON_TAB_3.3  = "S";
CON_TAB_3.4  = "M";CON_TAB_3.5  = "S";CON_TAB_3.6  = "T";
CON_TAB_3.7  = "N";CON_TAB_3.8  = "G";CON_TAB_3.9  = "R";
CON_TAB_3.10 = "K";CON_TAB_3.11 = "J";CON_TAB_3.12 = "K";
CON_TAB_3.13 = "P";CON_TAB_3.14 = "D";CON_TAB_3.15 = "T";
CON_TAB_3.16 = "T";CON_TAB_3.17 = "P";CON_TAB_3.18 = "P";
CON_TAB_3.19 = "K";CON_TAB_3.20 = "D";CON_TAB_3.21 = "Z";
CON_TAB_3.22 = "L";CON_TAB_3.23 = "M";CON_TAB_3.24 = "V";
CON_TAB_3.25 = "Z";CON_TAB_3.26 = "V";CON_TAB_3.27 = "M";
CON_TAB_3.28 = "G";CON_TAB_3.29 = "R";CON_TAB_3.30 = "N";
CON_TAB_3.31 = "J";CON_TAB_3.32 = "T";CON_TAB_3.33 = "F";
CON_TAB_3.34 = "P";CON_TAB_3.35 = "B";CON_TAB_3.36 = "D";
CON_TAB_3.37 = "D";CON_TAB_3.38 = "K";CON_TAB_3.39 = "G";
CON_TAB_3.40 = "J";

VOW_TAB_1.   = "?";
VOW_TAB_1.1  = "E";VOW_TAB_1.2  = "A";VOW_TAB_1.3  = "U";
VOW_TAB_1.4  = "A";VOW_TAB_1.5  = "A";VOW_TAB_1.6  = "A";
VOW_TAB_1.7  = "I";VOW_TAB_1.8  = "I";VOW_TAB_1.9  = "O";
VOW_TAB_1.10 = "A";VOW_TAB_1.11 = "A";VOW_TAB_1.12 = "E";
VOW_TAB_1.13 = "E";VOW_TAB_1.14 = "E";VOW_TAB_1.15 = "A";
VOW_TAB_1.16 = "U";VOW_TAB_1.17 = "O";VOW_TAB_1.18 = "I";
VOW_TAB_1.19 = "O";VOW_TAB_1.20 = "I";VOW_TAB_1.21 = "O";
VOW_TAB_1.22 = "I";VOW_TAB_1.23 = "A";VOW_TAB_1.24 = "U";
VOW_TAB_1.25 = "E";VOW_TAB_1.26 = "O";VOW_TAB_1.27 = "A";
VOW_TAB_1.28 = "E";VOW_TAB_1.29 = "I";VOW_TAB_1.30 = "A";
VOW_TAB_1.31 = "I";VOW_TAB_1.32 = "A";VOW_TAB_1.33 = "O";
VOW_TAB_1.34 = "A";VOW_TAB_1.35 = "I";VOW_TAB_1.36 = "E";
VOW_TAB_1.37 = "E";VOW_TAB_1.38 = "E";VOW_TAB_1.39 = "A";
VOW_TAB_1.40 = "A";

VOW_TAB_2.   = "?";
VOW_TAB_2.1  = "A";VOW_TAB_2.2  = "A";VOW_TAB_2.3  = "E";
VOW_TAB_2.4  = "A";VOW_TAB_2.5  = "I";VOW_TAB_2.6  = "O";
VOW_TAB_2.7  = "E";VOW_TAB_2.8  = "O";VOW_TAB_2.9  = "A";
VOW_TAB_2.10 = "A";VOW_TAB_2.11 = "A";VOW_TAB_2.12 = "E";
VOW_TAB_2.13 = "E";VOW_TAB_2.14 = "E";VOW_TAB_2.15 = "A";
VOW_TAB_2.16 = "I";VOW_TAB_2.17 = "I";VOW_TAB_2.18 = "I";
VOW_TAB_2.19 = "E";VOW_TAB_2.20 = "A";VOW_TAB_2.21 = "I";
VOW_TAB_2.22 = "E";VOW_TAB_2.23 = "U";VOW_TAB_2.24 = "A";
VOW_TAB_2.25 = "A";VOW_TAB_2.26 = "E";VOW_TAB_2.27 = "A";
VOW_TAB_2.28 = "I";VOW_TAB_2.29 = "I";VOW_TAB_2.30 = "O";
VOW_TAB_2.31 = "O";VOW_TAB_2.32 = "A";VOW_TAB_2.33 = "A";
VOW_TAB_2.34 = "I";VOW_TAB_2.35 = "E";VOW_TAB_2.36 = "A";
VOW_TAB_2.37 = "E";VOW_TAB_2.38 = "A";VOW_TAB_2.39 = "E";
VOW_TAB_2.40 = "E";

R1 = RANDOM(1,40)
R2 = RANDOM(1,40)
R3 = RANDOM(1,40)
R4 = RANDOM(1,40)
R5 = RANDOM(1,40)
R6 = RANDOM(1,40)
R7 = RANDOM(1,40)

PASSWORD = NUM_TAB_1.R1""CON_TAB_1.R2""VOW_TAB_1.R3""CON_TAB_2.R4
PASSWORD = PASSWORD""VOW_TAB_2.R5""CON_TAB_1.R6""VOW_TAB_2.R7
SAY PASSWORD



Learn how to use all the features of REXX: REXX Programming Book for TSO (published 2012)

[Books Computer]

Home Books for Computer Professionals Privacy Terms |
Site Map and Site Search Programming Manuals and Tutorials The REXX Files Top of Page |