Büyük ve Küçük Harf, Sayı ve Özel Karakter Seçerek Rastgele Şifre Oluşturma

PHP
107 lines
<?php
header('Content-Type: text/html; karakterleret=utf-8');
class sifre {
var $kucukharf;
var $buyukharf;
var $sayi;
var $ozelkarakter;
Var $uzunluk;
Var $onek;
function sifre($uzunluk=10,$onek='') {
$this->uzunluk = $uzunluk;
$this->onek = $onek;
$this->kucukharf = true;
$this->buyukharf = true;
$this->sayi = true;
$this->ozelkarakter = false;
}
function olustur() {
if ($this->buyukharf) {
$karakterler = 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");
}
if ($this->kucukharf) {
$karakterler[] = "a";
$karakterler[] = "b";
$karakterler[] = "c";
$karakterler[] = "d";
$karakterler[] = "e";
$karakterler[] = "f";
$karakterler[] = "g";
$karakterler[] = "h";
$karakterler[] = "i";
$karakterler[] = "j";
$karakterler[] = "k";
$karakterler[] = "l";
$karakterler[] = "m";
$karakterler[] = "n";
$karakterler[] = "o";
$karakterler[] = "p";
$karakterler[] = "q";
$karakterler[] = "r";
$karakterler[] = "s";
$karakterler[] = "t";
$karakterler[] = "u";
$karakterler[] = "v";
$karakterler[] = "w";
$karakterler[] = "x";
$karakterler[] = "y";
$karakterler[] = "z";
}
if ($this->sayi) {
$karakterler[] = "1";
$karakterler[] = "2";
$karakterler[] = "3";
$karakterler[] = "4";
$karakterler[] = "5";
$karakterler[] = "6";
$karakterler[] = "7";
$karakterler[] = "8";
$karakterler[] = "9";
$karakterler[] = "0";
}
if ($this->ozelkarakter) {
$karakterler[] = '!';
$karakterler[] = '@';
$karakterler[] = '#';
$karakterler[] = "$";
$karakterler[] = '%';
$karakterler[] = '^';
$karakterler[] = '&';
$karakterler[] = '*';
$karakterler[] = '(';
$karakterler[] = ')';
$karakterler[] = '{';
$karakterler[] = '}';
$karakterler[] = '[';
$karakterler[] = ']';
$karakterler[] = '<';
$karakterler[] = '>';
$karakterler[] = '?';
$karakterler[] = "=";
$karakterler[] = '+';
$karakterler[] = '-';
$karakterler[] = "_";
$karakterler[] = "/";
}
$max_eleman = count($karakterler) - 1;
$yenisifre = $this->onek;
$l = $this->uzunluk - struzunluk($this->onek);
for ($i = 0;$i<$l;$i++)
{
srand((double)microtime()*1000000);
$yenisifre .= $karakterler[rand(0,$max_eleman)];
}
return $yenisifre;
}
}
$s = new sifre();
echo $s->olustur() . '<br>';
$s->kucukharf = false;
echo $s->olustur() . '<br>';
$s->ozelkarakter = true;
echo $s->olustur() . '<br>';
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
3 lines
5D123P5RSF
$+_/@#%&VX
ZYCqsVXBDF
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Özelleştirilmiş Şifre Üretici

PHP
45 lines
<?php
class SifreUretici{
var $wc;
var $w;
var $l;
var $minl;
var $maxl;
function SifreUretici($min, $max, $dizi=NULL){
if($dizi == NULL){
$this->wc = array('_','-'); // special chars
for($i=48; $i<58; $i++){
array_push($this->wc, chr($i)); // 0-9
}
for($i=65; $i<91; $i++){
array_push($this->wc, chr($i)); // A-Z
}
for($i=97; $i<122; $i++){
array_push($this->wc, chr($i)); // a-z
}
shuffle($this->wc);
}
else{
$this->wc = $dizi;
}
$this->minl = $min;
$this->maxl = $max;
}
function olustur(){
$this->w = NULL;
$this->l = rand($this->minl, $this->maxl);
for($i=0; $i<$this->l; $i++){
$no = rand(0, count($this->wc)-1);
$this->w .= $this->wc[$no];
}
return htmlentities($this->w);
}
}
$s = new SifreUretici(10, 16); //10-16 karakter arası şifre üretir.
echo $s->olustur();
echo "<br>";
$dizi = array('a','b','1','!'); // Sadece bu karakterlerden 8 haneli şifre üretir
$s = new SifreUretici(8,8,$dizi);
echo $s->olustur();
echo "<br>";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
f_aDfXWCmKK4t
!bb!1ab1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Zamana ve Eklere Göre Rastgele Şifre Üretme Sınıfı

PHP
19 lines
<?php
class sifreUret{
var $gecici;
function sifreUret($uzunluk=6, $ek="kelime"){
$sifre=$ek.date("s:H:m:i:s");
$this->gecici=substr(md5($sifre), 2, $uzunluk);
}
function get_sifre(){
return $this->gecici;
}
}
$p=new sifreUret();
$p->sifreUret(8);
print $p->get_sifre();
echo "<br>";
$p->sifreUret(8, "benimkelimem");
print $p->get_sifre();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

PHP
2 lines
7fe03153
c65ebee1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Büyük, Küçük Harf ve Rakam Seçmeli Rastgele Şifre Oluşturma Sınıfı

PHP
28 lines
<?php
class sifre_olustur{
function sifre_olustur($uzunluk = 8, $tip = FALSE, $buyukharf = FALSE){
$sifre = md5(uniqid());
if($tip == "harf") {
$sifre = preg_replace("/[0-9]/", "", $sifre);
$yeni_sifre=null;
if($buyukharf) {
for ($i = 0; $i < strlen($sifre); $i++) {
if($i%3 == 0) $sifre[$i] = strtoupper($sifre[$i]);
$yeni_sifre.=$sifre[$i];
}
$sifre = $yeni_sifre;
}
} elseif($tip == "sayi") {
$sifre = preg_replace("/[a-z]/", "", $sifre);
}
$sifre = substr($sifre, 0, $uzunluk);
return $sifre;
}
}
$g= new sifre_olustur;
echo $g->sifre_olustur(16)."<br>";
echo $g->sifre_olustur(8,"sayi")."<br>";
echo $g->sifre_olustur(12,"harf")."<br>";
echo $g->sifre_olustur(12,"harf",true)."<br>";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
4 lines
86286a5f013eead7
86286501
afeeadabcfca
AfeEadAbcFca
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX