Generate Random Passwords in PHP
Complete code tutorial with examples and best practices
[ Code Example - Quick Summary ]
Language: PHP
What: Generate secure random passwords in PHP using <code>random_bytes()</code> for cryptographically secure random data. This approach creates strong passwords with customizable length and character sets.
Try it: Use our interactive Passwords generator or integrate this code into your PHP application.
Generate secure random passwords in PHP using random_bytes() for cryptographically secure random data. This approach creates strong passwords with customizable length and character sets.
Looking for other languages? Check our code examples in
JavaScript
,
Python
,
Java
,
C#
,
C++
,
Ruby
and
Go
or use our interactive web generator.
PHP Code Example
<?php
// Generate a random password with default settings
function generatePassword($length = 16, $includeSpecial = true) {
$lowercase = 'abcdefghijklmnopqrstuvwxyz';
$uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$numbers = '0123456789';
$special = '!@#$%^&*()-_=+[]{}|;:,.<>?';
$chars = $lowercase . $uppercase . $numbers;
if ($includeSpecial) {
$chars .= $special;
}
$password = '';
$charsLength = strlen($chars);
for ($i = 0; $i < $length; $i++) {
$randomIndex = random_int(0, $charsLength - 1);
$password .= $chars[$randomIndex];
}
return $password;
}
// Generate a 16-character password with special characters
$password = generatePassword(16, true);
echo $password; // Example: aB3$xY7!mN2@pQ9&
// Generate a 12-character password without special characters
$simplePassword = generatePassword(12, false);
echo $simplePassword; // Example: aB3xY7mN2pQ9
[EXPLANATION]
This function uses random_int() to generate cryptographically secure random indices for character selection. It allows customization of password length and character sets. For maximum security, always include uppercase, lowercase, numbers, and special characters.
Expected Output
aB3$xY7!mN2@pQ9& aB3xY7mN2pQ9
Common Use Cases
- User registration and password reset functionality
- API key and token generation
- Temporary password creation for new accounts
- Security testing and penetration testing
- Password strength testing tools
- Automated account creation systems
Important Notes
-
Use
random_int()orrandom_bytes()for cryptographic security -
Avoid using
rand()ormt_rand()for passwords - Consider adding password strength validation
-
Store passwords using
password_hash(), never plain text
Try Our Interactive Generator
Don't want to write code? Use our free web-based Passwords generator with instant results.
TRY PASSWORDS GENERATOR →Other Programming Languages
View Passwords generation code examples in JavaScript
View Passwords generation code examples in Python
View Passwords generation code examples in Java
View Passwords generation code examples in C#
View Passwords generation code examples in C++
View Passwords generation code examples in Ruby
View Passwords generation code examples in Go