Sponsored Content
Top Forums Shell Programming and Scripting Need specialized random string generator script Post 302485619 by BeefStu on Wednesday 5th of January 2011 05:50:44 PM
Old 01-05-2011
If you don't know much about code, I'm not sure how helpful this forum will
be to you.

Having said that, you can play around with this and adjust MINIMUM_LEN
and MAXIMUM_LEN to suit your needs.

Code:
cat random_password.ksh
#!/bin/ksh
mkrandpwd()
{
let MINIMUM_LEN=5
let MAXIMUM_LEN=20
#### 
#### Set the array of valid characters to be all upper and
#### lower case letters, all digits, and a selected set of
#### punctuation symbols.
#### 
 
set -A CHARS a b c d e f g h i j k l m n o p q r s t u v w x y z \
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \
0 1 2 3 4 5 6 7 8 9 \; \: \. \~ \! \@ \# \$ \% \^ \& \* - + = \? 
 
CNUM="${#CHARS[@]}"

################################################################

#### Calculate a random length for the random password string between the
#### MINIMUM_LEN and MAXIMUM_LEN values provided
#### 
MAXLEN=$(( $MINIMUM_LEN + ( $RANDOM % ( $MAXIMUM_LEN - $MINIMUM_LEN ) ) ))

#### 
#### extract a random character from the CHARS array for each position
#### of the random password string. The length of the random string 
#### determined by the MAXLEN variable.
#### 
RANDSTR=""
let POSCNT=0; 
while [ 1 -eq 1 ] 
do
if [ $POSCNT -ge $MAXLEN ]
then
break;
fi
let POSCNT=$POSCNT+1
#### 
#### Using the modulo of a random number divided by the number of 
#### characters (array elements) in the CHARS array, provides a
#### random array element position. The random array element position
#### is used to append a single character at a time from the CHARS array
#### onto the random password string variable RANDSTR.
#### 
RANDSTR="${RANDSTR}${CHARS[${RANDOM}%${CNUM}]}"
done
 
echo "password=${RANDSTR} length=${MAXLEN}"
return 0
}
mkrandpwd

Here is some some sample output:

Code:
password=KBIJAuEBax0JciX           length=15
password=e+JUKKO9TJPCQ%.G     length=16
password=ZSJ5V7Qrl                    length=9
password=-;Kk+C2hE3z+hoLKH-    length=18


Last edited by radoulov; 01-05-2011 at 07:18 PM.. Reason: Code tags, please!
This User Gave Thanks to BeefStu For This Post:
 

9 More Discussions You Might Find Interesting

1. Solaris

Does Solaris have a random number generator?

I am trying to find a way to generate random numbers within a shell script. Does Solaris have a utility that will generate random numbers? Thanks in advance. B (3 Replies)
Discussion started by: one_ring99
3 Replies

2. Shell Programming and Scripting

Random Sentence Generator

Hi, I need to create a table with random sentences. I need lines that are upto 1000 characters in lenght. I need a random sentence generator that will create sentences and output it to a text file. The sentences should be of lenght varying from 1 to 1000. Does anyone know how this can be... (7 Replies)
Discussion started by: kaushys
7 Replies

3. Shell Programming and Scripting

Replace a certain string with string containing random rubbish

Hello, in my shell script i have some multi-line text in a variable $TEMP - f.e. blablahblah blah blah bla TARGET hgloglo And i need to replace TARGET with text from another variable ($REPLACE), which is containing some text with nasty characters (\n, ", :, etc.) And stuff the altered text... (2 Replies)
Discussion started by: MilanCZ
2 Replies

4. Ubuntu

expect script for random password and random commands

Hi I am new to expect. Please if any one can help on my issue its really appreciable. here is my issue: I want expect script for random passwords and random commands generation. please can anyone help me? Many Thanks in advance (0 Replies)
Discussion started by: vanid
0 Replies

5. UNIX for Dummies Questions & Answers

A crude random byte generator...

There was an upload recently on generating a pseudo-random file when /dev/random does NOT exist. This does not need /dev/random, /dev/urandom or $RANDOM either... (I assume $RANDOM relies on the /dev/random device in some way.) This code uses hexdump just because I like hexdump for ease of... (2 Replies)
Discussion started by: wisecracker
2 Replies

6. Shell Programming and Scripting

Need a script to create specialized output file

I need a script to process the (space-separate) values for each line as seen in the below input file and then output the data into an output file as follows. We have been unable to create this using typical bash scripting and cold not find anything out on the internet similar to what we are trying... (3 Replies)
Discussion started by: ddirc
3 Replies

7. Shell Programming and Scripting

Specialized grep script

I have been (unsuccessfully) trying to write a script that will do the following: for each line of an input file (that contains IP address), the script searches the target file for any lines containing said IP address if it finds a line (or lines) it writes the line(s) to output if the line is... (4 Replies)
Discussion started by: ddirc
4 Replies

8. Shell Programming and Scripting

awk (or) UNIX random RGB colors generator?

Dear UNIX Friends, I was wondering if there is a random RGB color generator or any function in any unix platforms. Please share your ideas. Thanks (2 Replies)
Discussion started by: jacobs.smith
2 Replies

9. Shell Programming and Scripting

Random Password generator with 2 digits and 6 characters

I am using the below to random generate a password but I need to have 2 numeric characters and 6 alphabetic chars head /dev/urandom | tr -dc A-Za-z0-9 | head -c 8 ; echo '' 6USUvqRB ------ Post updated at 04:43 PM ------ Any Help folks - Can the output be passed onto a sed command to... (9 Replies)
Discussion started by: infernalhell
9 Replies
kpasswd(1)							   User Commands							kpasswd(1)

NAME
kpasswd - change a user's Kerberos password SYNOPSIS
/usr/bin/kpasswd [principal] DESCRIPTION
The kpasswd command is used to change a Kerberos principal's password. kpasswd prompts for the current Kerberos password, which is used to obtain a changepw ticket from the KDC for the user's Kerberos realm. If kpasswd successfully obtains the changepw ticket, the user is prompted twice for the new password, and the password is changed. If the principal is governed by a policy that specifies the length and/or number of character classes required in the new password, the new password must conform to the policy. (The five character classes are lower case, upper case, numbers, punctuation, and all other charac- ters.) OPERANDS
The following operand is supported: principal Change the password for the Kerberos principal principal. Otherwise, the principal is derived from the identity of the user invoking the kpasswd command. FILES
/tmp/ovsec_adm.xxxxxx Temporary credentials cache for the lifetime of the password changing operation. (xxxxxx is a random string.) ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWkrbu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ SEE ALSO
SEAM(5) BUGS
If kpasswd is suspended, the changepw tickets may not be destroyed. SunOS 5.10 30 Jul 2001 kpasswd(1)
All times are GMT -4. The time now is 06:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy