Ik ben begonnen met een LOI-cursus PHP (Waarom? Tijd te vullen)
Maar ik snap de opdracht niet heel goed.
Kopieer oefenopgave 10-1 en breid deze uit zodat er wachtwoorden worden gegenereerd van acht karakters lang waarin minimaal een hoofdletter, een cijfer, een kleine letter en een teken voorkomt. De tekens waaruit gekozen kan worden, zijn: !@#$%^&*(){}[]?. De verschillende onderdelen van het wachtwoord mogen niet op vaste posities worden geplaatst, dus het is niet de bedoeling dat er bv. altijd op positie 2 een getal staat.
Tip: Zoek op www.php.net bij de string functions naar een functie om de karakters in een string door elkaar te gooien.
<?php
function random_char($string)
{
$length = strlen($string);
$position = mt_rand(0, $length - 1);
return($string[$position]);
}
function random_string ($charset_string, $length)
{
$return_string = ''; // the empty string
for ($x = 0; $x < $length; $x++)
$return_string .= random_char($charset_string);
return($return_string);
}
mt_srand((double)microtime() * 1000000);
$charset = 'abcdefghijklmnopqrstuvwxyz';
$random_string = random_string($charset, 8);
print('random_string: '.$random_string.'<br />');
$random_string = random_string($charset, 8);
print('random_string: '.$random_string.'<br />');
$random_string = random_string($charset, 8);
print('random_string: '.$random_string.'<br />');
?>En ik weet dat ze best achterlopen, maar waar ik aan begonnen ben maak ik maar af ook.
Groetjes Alex.