Hallo, ik wou graag weten of er 1 speciale funtie is in PHP die random cijfers en letters by elkaar zet, zonder daar een functie voor te hoeven schrijven.. is mt_rand iets?.. ik weet het niet!!
Ik gebruikte dit om een hash te maken:
<?php
$hash1 = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0");
shuffle($hash1);
$hash = $hash1[0].$hash1[1].$hash1[2].$hash1[3].$hash1[4].$hash1[5].$hash1[6].$hash1[7];
?>
Het kan inderdaad denk ik wel sneller, maar zuo niet weten hoe
<?php
function randomgenerator($aantaltekens)
{
//Eerst maken we 3 arrays met gegevens.
$kleineletters = range('a','z');
$groteletters = range('A','Z');
$cijfers = range(0,9);
//Prop ze bij elkaar en tel ze.
$karakters = array_merge($kleineletters, $groteletters, $cijfers);
$aantal = count($karakters)-1;
$password = null;
//Voor ieder teken dat we willen maken pakken we een random nummertje.
for($i=0; $i < $aantaltekens; $i++) {
$password .= $karakters[mt_rand(0, $aantal)];
}
return $password;
}
?>
Ik gebruikte dit om een hash te maken:
<?php
$hash1 = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0");
shuffle($hash1);
$hash = $hash1[0].$hash1[1].$hash1[2].$hash1[3].$hash1[4].$hash1[5].$hash1[6].$hash1[7];
?>
Het kan inderdaad denk ik wel sneller, maar zuo niet weten hoe
Dit is nogal omslachtig:
<?php
//Eerst maken we 3 arrays met gegevens.
$kleineletters = range('a','z');
$groteletters = range('A','Z');
$cijfers = range(0,9);
// samenvoegen van de arrays en dan husselen
$karakters = array_merge($kleineletters, $groteletters, $cijfers);
shuffle($karakters);
//for lusje, eerst lege password aanmaken;
$password = null;
for($i=0;$i<9;$i++){
$password .= $karakters[$i];
}
?>
Het lijkt meer code, maar het werkt veel gemakkkelijker zo. Je hebt nu niet elke letter en cijfer (alsmede de hoofdletters) niet meer handmatig in een array hoeven zetten.