06-09-2008
Generate Random Password in C
I need a function to generate a random alphanumeric password in C code. It needs to be between 6-8 characters and follow the following rules:
Reject if same char appears # time: 4 or more
Reject if same char appears consecutively: 3 or more
I have the following random password working for numbers (0-9). I need to update it to include characters (a-z). I also need to add the validation rules above. Can someone please help me. I have been trying for days to update it but get a lot of compile errors... Thanks..
Here's what is working for number (0-9):
Random_Password()
{
int ran_int_num;
time_t seconds;
time(&seconds);
srand ((unsigned int) seconds);
/* multiply by 975 to generate a larger number */
ran_int_num = rand() * 975;
/**************************************************/
/* Need to cast the integer to character, so use sprintf */
/* %u = unsigned decimal integer %d = signed decimal integer */
/* ************************************************/
sprintf(randompw, "%u", ran_int_num);
strncpy(newpw, randompw, 8);
return(0);
}
Here's what I tried to change it to, in order to generate an alphanumeric:
GenerateRandomID()
{
char password_chars["1234567890abcdefghijklmnopqrstuvwxyz"];
int i;
int length;
char ticketid;
int random;
for (i = 0; i < length; i++) {
random = rand(0, strlen(password_chars) - 1);
ticketid = password_chars[random];
}
return ticketid;
}
10 More Discussions You Might Find Interesting
1. Programming
How to generate a random integer with specific range(for example, from 1 to 1000)?
Also, how to convert a floating point number into a integer? (2 Replies)
Discussion started by: MacMonster
2 Replies
2. Shell Programming and Scripting
Hello All...
Can someone help me generate a random password which will be 7 characters long which contains alpha-numeric characters using shell script.
I am looking to store the output of the script that generates the password to a variable within a script and use it as the password.
... (5 Replies)
Discussion started by: chiru_h
5 Replies
3. Shell Programming and Scripting
Hi, Guz!
I'm working on a scripts compiler which needs a function to generate random strings. I think REGX may be a good solution to restrict the string format. Before DIYing I'd like asking for any existing libs or codes.
Any help will be appreciated! (7 Replies)
Discussion started by: wqqafnd
7 Replies
4. Programming
I saw this formula to generate random number between two specified values in shell script.the following.
$(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min))
Give a example in book.
Generate random number between 6 and 30.like this.
$(((RANDOM%30/3+1)*3))
But I have a... (1 Reply)
Discussion started by: luoluo
1 Replies
5. Ubuntu
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
6. Programming
hi guys,
I am writing a c program that generates a two dimensional array to make matrix and a vector of random numbers and perform multiplication. I can't figure out whats wrong with my code. It generates a matrix of random numbers but all the numbers in the vector array is same and so is the... (2 Replies)
Discussion started by: saboture88
2 Replies
7. Shell Programming and Scripting
How would you use bash to generate a random 32 digit number base 16?
Like this one:
0cc06f2fa0166913291afcb788717458 (8 Replies)
Discussion started by: locoroco
8 Replies
8. Shell Programming and Scripting
i want to generate a random number through a script, and even if anyone reads the script, they wont be able to figure out what the random number is. only the person who setup the script would know it.
something like this could work: random
the full thread is here:
... (13 Replies)
Discussion started by: SkySmart
13 Replies
9. Shell Programming and Scripting
Need to use dd to generate a large file from a sample file of random data. This is because I don't have /dev/urandom.
I create a named pipe then:
dd if=mynamed.fifo do=myfile.fifo bs=1024 count=1024
but when I cat a file to the fifo that's 1024 random bytes:
cat randomfile.txt >... (7 Replies)
Discussion started by: Devyn
7 Replies
10. Shell Programming and Scripting
Hi,
Is anybody experience generate a pair of random number by using awk command?
I wanna to generate a pair of random number (range from 1 to 4124) and repeats it 416 times.
Desired output
2 326
123 1256
341 14
3245 645
.
.
.
I did write the below command:
awk... (5 Replies)
Discussion started by: perl_beginner
5 Replies
rand(3UCB) SunOS/BSD Compatibility Library Functions rand(3UCB)
NAME
rand, srand - simple random number generator
SYNOPSIS
/usr/ucb/cc[ flag ... ] file ...
int rand()
int srand( seed);
unsigned seed;
DESCRIPTION
rand() uses a multiplicative congruential random number generator with period 2**32 to return successive pseudo-random numbers in the range
from 0 to "2**31 -1."
srand() can be called at any time to reset the random-number generator to a random starting point. The generator is initially seeded with a
value of 1.
SEE ALSO
drand48(3C), rand(3C), random(3C)
NOTES
Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system
libraries or in multi-thread applications is unsupported.
The spectral properties of rand() leave a great deal to be desired. drand48(3C) and random(3C) provide much better, though more elaborate,
random-number generators.
The low bits of the numbers generated are not very random; use the middle bits. In particular the lowest bit alternates between 0 and 1.
SunOS 5.10 12 Feb 1993 rand(3UCB)