<?php
// APR1-MD5 encryption method (windows compatible)
function crypt_apr1_md5($plainpasswd)
{
    $salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8);
    $len = strlen($plainpasswd);
    $text = $plainpasswd.'$apr1$'.$salt;
    $bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd));
    for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); }
    for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; }
    $bin = pack("H32", md5($text));
    for($i = 0; $i < 1000; $i++)
    {
        $new = ($i & 1) ? $plainpasswd : $bin;
        if ($i % 3) $new .= $salt;
        if ($i % 7) $new .= $plainpasswd;
        $new .= ($i & 1) ? $bin : $plainpasswd;
        $bin = pack("H32", md5($new));
    }
    for ($i = 0; $i < 5; $i++)
    {
        $k = $i + 6;
        $j = $i + 12;
        if ($j == 16) $j = 5;
        @$tmp = $bin[$i].$bin[$k].$bin[$j].$tmp;
    }
    $tmp = chr(0).chr(0).$bin[11].$tmp;
    $tmp = strtr(strrev(substr(base64_encode($tmp), 2)),
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
 
    return "$"."apr1"."$".$salt."$".$tmp;
}
 
// Password to be used for the user
$username = 'user1';
$password = 'password1';
 
// Encrypt password
$encrypted_password = crypt_apr1_md5($password);
 
// Print line to be added to .htpasswd file
//echo $username . ':' . $encrypted_password;

// Array for usernames and password. 
$users = array();
// User 1
if($vsuser1 != ""){
$users[0]['username'] =  $vsuser1;
$users[0]['password'] =  $vspass1;
}
// User 2
if($vsuser2 != ""){
$users[1]['username'] =  $vsuser2;
$users[1]['password'] =  $vspass2;
}
// User 3
if($vsuser3 != ""){
$users[2]['username'] =  $vsuser3;
$users[2]['password'] =  $vspass3;
}

foreach($users as $user => $data)
{
    $username = $data['username'];
    $password = $data['password'];
    // Encrypt password
    $encryptedpwd = crypt_apr1_md5($password);
     
    // Print line to be added to .htpasswd file
    $content = $username . ':' . $encryptedpwd;
    //$content . '<br />';

$handle=fopen($saveFilePass, "a+");
fwrite($handle,$content."\n");
fclose($handle);
$oldumask = umask(0);
chmod($saveFilePass, 0644);
umask($oldumask);
}
?>