PHP – Rastgele Şifre Üretme

PHP – Rastgele Şifre Üretme

Üyelik gerektiren bir site tasarladığınızda ihtiyacınız olabilecek ilk fonksiyonlardan biri üyelerinizin şifrelerini unuttuğunda -ya da kayıt olurken- rastgele bir şifre yaratan fonksiyondur. Aşağıdaki PHP kodu kullanarak istediğiniz uzunlukta rastgele bir şifre yaratabilir, karmaşıklık derecesini de belirtebilirsiniz.

<?php

// hic bir parametre gondermezseniz kucuk harflerden olusan 8 karakterli bir sifre uretiliyor
function generatePassword($length=8, $strength=0) {
$vowels = ‘aeuy’;
$consonants = ‘bdghjmnpqrstvz’;
if ($strength & 1) { // zorluk derecesi 1e kadar ise buyuk sessizleri de dahil et
$consonants .= ‘BDGHJLMNPQRSTVWXZ’;
}
if ($strength & 2) { // zorluk derecesi 2 veya 2ye kadar ise buyuk seslileri de dahil et
$vowels .= “AEUY”;
}
if ($strength & 4) { // zorluk derecesi 4 veya 4e kadar ise rakamlari da dahil et
$consonants .= ‘23456789’;
}
if ($strength & 8) { // zorluk derecesi 8 veya 8e kadar ise ozel karakterleri de dahil et
$consonants .= ‘@#$%’;
}

$password = ”; // sifre ilk basta bos
$alt = time() % 2; // cesitlilik olmasi icin zamana bagli sesli veya sessiz harf seciyoruz
for ($i = 0; $i < $length; $i++) { // karakter sayisi kadar
if ($alt == 1) { // zamandan donen deger 1 ise sessiz harfler
$password .= $consonants[(rand() % strlen($consonants))];
$alt = 0;
} else { // zamandan donen deger 2 ise sesli harfler
$password .= $vowels[(rand() % strlen($vowels))];
$alt = 1;
}
}
return $password; // sifre uretildi
}

echo generatePassword(8,8);

?>

 

© 2012, BurakS. All rights reserved.

Yorum Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir