Tutorials

rand()

Verschillende key generators of password generators die simpel werken werken met de functie rand().

Pagina 1

Number generator

Met deze functie kun je willekeurige cijfers genereren.. Met een beetje kennis van PHP zie je dat dit vrij simpel gebeurt. Je begint met het openen van een nieuwe functie en geeft de variabele $length mee. $length bepaalt de lengte van de willekeurige cijfers code.

Dan doe ik via een for loopje de cijfers maken. en return het dan.

<?
//** random nummer generator **//

function NumGen($length)
{
for ($i = 1; $i <= $length; $i++)
{
if ($i == 1)
$randnum = rand(0, 9);
else
$randnum .= rand(0, 9);
}

return $randnum;
}

$password = NumGen(10);
echo $password;
?>

Je roept het dus via bovenstaande manier aan.
$var = NumGen(nummer van lengte cijfer code);
echo $var; // ver is dan dus de cijfercode
Pagina 2

Letter generator

Dit werkt iets anders. In de variabele '$letters' zitten alle woorden die gebruikt mogen worden voor de letter code. Er is dus 1 met alleen kleine letters, en 1 met kleine en grote letters. Ik gebruik rand() nu op deze manier. Eerst maak ik weer een loopje en doe vervolgens zo:

<?
rand(0, strlen($letters));
?>

Op deze manier telt hij dus de aantal karakters wat in $letters zit, en kan zo een willekeurig cijfer genereren tussen de 0 en X (x is aantal karakters wat er dus in $letters zit). Nu doe ik dit:

<?
$randchar = substr($letters, $randnum, 1);
?>

Hiermee pak ik een willekeurige letter die begint bij $randnum (das dus het cijfer wat ik verder naar boven heb gegenereerd). Hij blijft dit stukje code doen totdat $length erop zit.

<?
//** random letter generator **//
function CharGen($length, $caps)
{
if ($caps == 1)
$letters = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";
else
$letters = "abcdefghijklmnopqrstuvwxyz";

for ($i = 1; $i <= $length; $i++)
{
$randnum = rand(0, strlen($letters));

if ($i == 1)
$randchar = substr($letters, $randnum, 1);
else
$randchar .= substr($letters, $randnum, 1);
}

return $randchar;
}

$password = CharGen(10, 0);
echo $password;
?>

Onderaan de code, zo roep je het dus aan. Als je van CharGen(10, 0): CharGen(10, 1) maakt (dus ipv een 0 op het einde een 1), pakt hij ook de hoofdletters erbij.
Pagina 3

Letter/cijfer generator

Werkt precies hetzelfde.

<?
//** random letter/num generator **//
function NumcharGen($length, $caps)
{
if ($caps == 1)
$letters = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ1234567890";
else
$letters = "abcdefghijklmnopqrstuvwxyz1234567890";

for ($i = 1; $i <= $length; $i++)
{
$randnum = rand(0, strlen($letters));

if ($i == 1)
$randchar = substr($letters, $randnum, 1);
else
$randchar .= substr($letters, $randnum, 1);
}

return $randchar;
}

$password = NumcharGen(10,1);
echo $password;
?>

Werkt precies hetzelfde als de vorige. Maak van de NumcharGen(10, 1): NumcharGen(10, 0) en hij laat geen caps meer zien in de gegenereerde code.

Reacties

0
Nog geen reacties.