Sponsored Content
Top Forums Programming Generate Random Password in C Post 302203667 by vjaws on Monday 9th of June 2008 01:35:34 PM
Old 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 number?

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

Generate a random password

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

How to generate random strings from regx?

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

Generate random number

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

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

6. Programming

generate array of random numbers

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

generate random base 16

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

Generate random numbers in script

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 generate a file with random data. /dev/[u]random doesn't exist.

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

Help with generate a pair of random number

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
String::MkPasswd(3pm)					User Contributed Perl Documentation				     String::MkPasswd(3pm)

NAME
String::MkPasswd - random password generator SYNOPSIS
use String::MkPasswd qw(mkpasswd); print mkpasswd(); # for the masochisticly paranoid... print mkpasswd( -length => 27, -minnum => 5, -minlower => 1, # minlower is increased if necessary -minupper => 5, -minspecial => 5, -distribute => 1, ); ABSTRACT
This Perl library defines a single function, "mkpasswd()", to generate random passwords. The function is meant to be a simple way for developers and system administrators to easily generate a relatively secure password. DESCRIPTION
The exportable "mkpasswd()" function returns a single scalar: a random password. By default, this password is nine characters long with a random distribution of four lower-case characters, two upper-case characters, two digits, and one non-alphanumeric character. These parameters can be tuned by the user, as described in the "ARGUMENTS" section. ARGUMENTS The "mkpasswd()" function takes an optional hash of arguments. -length The total length of the password. The default is 9. -minnum The minimum number of digits that will appear in the final password. The default is 2. -minlower The minimum number of lower-case characters that will appear in the final password. The default is 2. -minupper The minimum number of upper-case characters that will appear in the final password. The default is 2. -minspecial The minimum number of non-alphanumeric characters that will appear in the final password. The default is 1. -distribute If set to a true value, password characters will be distributed between the left- and right-hand sides of the keyboard. This makes it more difficult for an onlooker to see the password as it is typed. The default is false. -fatal If set to a true value, "mkpasswd()" will Carp::croak() rather than return "undef" on error. The default is false. If -minnum, -minlower, -minupper, and -minspecial do not add up to -length, -minlower will be increased to compensate. However, if -minnum, -minlower, -minupper, and -minspecial add up to more than -length, then "mkpasswd()" will return "undef". See the section entitled "EXCEPTION HANDLING" for how to change this behavior. EXCEPTION HANDLING By default, "mkpasswd()" will return "undef" if it cannot generate a password. Some people are inclined to exception handling, so String::MkPasswd does its best to accommodate them. If the variable $String::MkPasswd::FATAL is set to a true value, "mkpasswd()" will Carp::croak() with an error instead of returning "undef". EXPORT None by default. The "mkpasswd()" method is exportable. SEE ALSO
<http://expect.nist.gov/#examples>, mkpasswd(1) AKNOWLEDGEMENTS
Don Libes of the National Institute of Standards and Technology, who wrote the Expect example, mkpasswd(1). AUTHOR
Chris Grau <cgrau@cpan.org> COPYRIGHT AND LICENSE
Copyright (C) 2003-2010 by Chris Grau This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available. perl v5.10.1 2010-10-18 String::MkPasswd(3pm)
All times are GMT -4. The time now is 10:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy