
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Random Password Generator in C
In this article, we will delve into an interesting and practical problem related to string manipulation in C programming. We are going to build a "Random Password Generator" in C. This problem not only enhances your understanding of string manipulation but also your knowledge of the C Standard Library.
Problem Statement
The task is to build a program that generates a random password of a specified length. The password should include uppercase and lowercase alphabets, digits, and special characters.
C Solution Approach
To solve this problem, we'll leverage the power of the C Standard Library. We'll use the rand() function to generate random numbers within a specified range. We'll create a string of all possible characters that our password can contain, and then for each character in our password, we'll randomly select a character from this string.
Example
Here's the C code that implements a random password generator ?
#include <stdio.h> #include <stdlib.h> #include <time.h> void generatePassword(int len) { char possibleChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()"; char password[len+1]; srand(time(0)); // seed for random number generation for(int i = 0; i < len; i++) { int randomIndex = rand() % (sizeof(possibleChars) - 1); password[i] = possibleChars[randomIndex]; } password[len] = '\0'; // null terminate the string printf("The randomly generated password is: %s\n", password); } int main() { int len = 10; // desired length of password generatePassword(len); return 0; }
Output
The randomly generated password is: )^a3cJciyk
Explanation with a Test Case
Let's say we want to generate a password of length 10.
When we pass this length to the generate Password function, it generates a random password with 10 characters.
The function constructs a string of all possible characters that the password can contain. Then it uses the rand() function to generate a random index, which is used to pick a character from the string of possible characters. It repeats this process for the specified length of the password.
Please note that each time you run this program, it will generate a different password due to the random nature of our algorithm.
Conclusion
This problem presents an interesting use case of random number generation and string manipulation in C. It's a fantastic problem to understand and practice how to use the C Standard Library effectively.