Ben çeşitli karmaşıklık rastgele PWDS üretmek için bir fonksiyon inşa ...
Sonra kullanmış ...
$ Ukey = GeneratePassword (16,2) GeneratePassword (16,2).;
Ben bir url bir id geçmek istiyorum ve bunu tahmin etmek zor istediğiniz şeyler için. Muhtemelen o eşsiz ve tahmin zor yapmak için de rasgele bir dize bir microtime borular ile arka arkaya olabilir. Bu ticaret seviye uygulamalar için yeterince güçlü olup olmadığını bilmiyorum. Ben SSN veya ilgili CCN'e gibi bir şey yok daha fazla kullanıcı hesabı yönetimi için kullanabilirsiniz.
Fonksiyonu / / ---- başlangıç
fonksiyonu GeneratePassword (= 6 $ uzunluk, $ seviyesi = 2) {
list($usec, $sec) = explode(' ', microtime());
srand((float) $sec + ((float) $usec * 100000));
$validchars[1] = "0123456789abcdfghjkmnpqrstvwxyz";
$validchars[2] = "0123456789abcdfghjkmnpqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$validchars[3] = "0123456789abcdfghjkmnpqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%&*-+";
$validchars[4] = "0123456789abcdfghjkmnpqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_-+=/";
$password = "";
$counter = 0;
while ($counter < $length) {
$actChar = substr($validchars[$level], rand(0, strlen($validchars[$level])-1), 1);
// add current char to pwd string if it's not already in the pwd
if (!strstr($password, $actChar)) {
$password .= $actChar;
$counter++;
}
}
return $password;
}