Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,851 questions

51,772 answers

573 users

How to check whether a given password is strong, medium, or weak in PHP

1 Answer

0 votes
// You can set your own rules

function checkPasswordStrength($password) {
    $length = strlen($password);

    $hasLower = false;
    $hasUpper = false;
    $hasDigit = false;
    $specialChar = false;

    $lowuppdig = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';

    for ($i = 0; $i < $length; $i++) {
        if (ctype_lower($password[$i])) {
            $hasLower = true;
        }
        if (ctype_upper($password[$i])) {
            $hasUpper = true;
        }
        if (ctype_digit($password[$i])) {
            $hasDigit = true;
        }
        if (strpos($lowuppdig, $password[$i]) === false) {
            $specialChar = true;
        }
    }

    if ($hasLower && $hasUpper && $hasDigit && $specialChar && $length >= 10) {
        return 'Strong';
    } else if (($hasLower || $hasUpper) && $specialChar && $length >= 8) {
        return 'Medium';
    }

    return 'Weak';
}

$passwords = ['aq1o@p9$XM', 'asW!W)(o', 'WSDFK!#Q', 'n*djskq*', 'WE3q#$'];

foreach ($passwords as $password) {
    echo checkPasswordStrength($password) . "\n";
}



/*
run:
   
Strong
Medium
Medium
Medium
Weak
   
*/

 



answered Oct 22, 2024 by avibootz
edited Oct 22, 2024 by avibootz
...