SORU
23 Mayıs 2011, PAZARTESİ


Üreten php rastgele şifre

Php rasgele bir parola oluşturmak için çalışıyorum.

Tüm 'a ve dönüş türü dizi ve bir dize olmak istiyorum. alıyorum ancak Kod düzeltmek için nasıl bir fikir?

Teşekkürler.

function randomPassword() {
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    for ($i = 0; $i < 8; $i  ) {
        $n = rand(0, count($alphabet)-1);
        $pass[$i] = $alphabet[$n];
    }
    return $pass;
}

CEVAP
23 Mayıs 2011, PAZARTESİ


Güvenlik uyarısı: rand() kriptografik olarak güvenli sözde rastgele sayı üreteci değildir. Başka bir yerde PHP şifreleme açısından güvenli rastgele bir dize oluşturmak için bak.

Bu (bir dize üzerinde count 1 çünkü count yerine strlen) deneyin:

function randomPassword() {
    $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $pass = array(); //remember to declare $pass as an array
    $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
    for ($i = 0; $i < 8; $i  ) {
        $n = rand(0, $alphaLength);
        $pass[] = $alphabet[$n];
    }
    return implode($pass); //turn the array into a string
}

Demo: http://codepad.org/UL8k4aYK

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Cristina Landa

    Cristina Lan

    28 Ocak 2010
  • Kanaal van Dj0fifty

    Kanaal van D

    28 EKİM 2011
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010