PHP'de Rastgele Bir Dize Nasıl Oluşturulur [Örneklerle]

Yayınlanan: 2020-11-24

PHP, piyasaya sürüldüğü sırada Kişiselleştirilmiş Ana Sayfa anlamına geliyordu . Ve evrimsel yolculuğu, endüstriye PHP: Hypertext PreProcessor olarak alternatif ve daha kabul edilebilir (yinelemeli) bir tanım verirken , PHP hakkındaki gerçek şu ki, hala kişiselleştirme ruhunu her şeyden daha fazla özümsüyor.

Bugün PHP, Microsoft'un ASP'si (Aktif Sunucu Sayfaları) gibi önde gelen tüm diğer sunucu yapılandırma dillerine en çok tercih edilen, ücretsiz ve açık kaynaklı alternatiftir. Bu kişiselleştirme yönünün büyük bir kısmı , sunucu tarafında bir modül , bir arka plan programı veya bir yürütülebilir dosya olarak uygulanabilen bir PHP PHP arayüzleri, UID'ler (Benzersiz Tanımlayıcılar), e-posta adresleri, kullanıcı adları, şifreler, gizli iletişim bilgileri ve çok daha fazlası gibi önemli kullanıcı merkezli verilerin yönetiminde yardımcı olur.

Dünyanın önde gelen dinamik içerik yönetim sistemlerinin (CMS devi WordPress dahil) hepsi olmasa da çoğu, hem kullanıcı kayıtlarının hem de içerik kayıtlarının PHP ile erişilebilir veritabanları biçiminde kolayca oluşturulmasına ve bakımına izin veren PHP tabanlı platformlardır. .

Bu makalede, PHP'nin, hem yönetici hem de kullanıcı tarafından minimum müdahale ile yeni bir "kullanıcı" oluşturma eyleminde ihtiyaç duyulan tüm zorunlu alanları doldurmasını çok kolaylaştıran PHP'nin belirli bir yönünü keşfedeceğiz. . Bunu yapmak için, yöneticilerin PHP rastgele dizeleri oluşturmayı öğrenmesi gerekir ve biz de bunu ele alacağız.

Okuyun: PHP Proje Fikirleri ve Konuları

İçindekiler

PHP Rastgele Dize nedir?

PHP Rastgele Dizesi, bir dizide dosya adı, rastgele URL uzantısı, parola veya kimlik doğrulama belirteci (sıradan API Belirteçleri ve Facebook'un uygulama geliştirme arayüzünde görüldüğü gibi API Sırları).

Sık blog yazarları, özellikle çalışmalarını yayınlamak için Medium gibi platformları kullananlar, yeni bir hikaye veya gönderi yayınladıklarında bu rastgele dizi oluşturma eylemini iş başında görecekler - temel etki alanını takip eden URL uzantısı, genellikle bir sonucun sonucudur. yayımlama arabirimi tarafından oluşturulan rastgele dize.

Örneğin, https://medium.com/neli/shiring-revealing-the-best-kept-secret-of-ancient-indian-meditation- c37d87e3386b URL'sinde , URL'nin son kısmı (c37d87e3386b) rastgele oluşturulan dize . PHP rastgele dizelerinin diğer kolay ve önemli referansları, WordPress'teki tüm yeni kullanıcı hesapları için oluşturulan "varsayılan" şifreleri içerir.

Tüketici internet platformlarının giderek artan bir çoğunluğu, "sihirli bağlantı" oturum açmalarını etkinleştirmede şifrelemenin gücünden yararlanmak için PHP rastgele dizelerinin kullanımına doğru kayıyor. Daha önce "sihirli bağlantı" oturum açma kullanan bulut tabanlı bir hizmet kullandıysanız, PHP rastgele dizelerinin oluşturulması ve eşlenmesiyle sağlanan kolaylık, verimlilik ve gelişmiş güvenlik katmanına zaten aşinasınızdır.

PHP Rastgele Dizi Nasıl Oluşturulur?

Eldeki görev, PHP kullanarak rastgele, alfasayısal ve benzersiz dizeler oluşturan kod yazmaktır. Bunu başarmanın dört farklı yolu vardır:

  1. Kaba kuvvet kullanarak (rastgele indeksleme) – Bu, PHP rastgele bir dize elde etmek için açık ara en kolay, ancak kaba bir yöntemdir.
  2. Karma ” işlevlerini kullanarak (PHP rastgele dizelerinin algoritmik üretimi – bu, kaba kuvvet kullanmaya kıyasla biraz daha akıllı bir yaklaşımdır)
  3. Yerleşik uniqid() işlevini kullanarak (bu basittir ve öğeler için benzersiz tanımlayıcılar oluşturmak için yerleşik bir PHP işlevinden yararlanır)
  4. Random_bytes() ve ardından bin2hex () kullanarak - kriptografik olarak güvenli rasgele baytlar üretir ve çevrimiçi piyangolar, çevrimiçi poker oyunları ve çekirdeklerinde gerçek rastgeleleştirme ile gerçek zamanlı sayı üretimi gerektiren diğer platformlar gibi arayüzlere şaşırtıcı işlevsellik sunar.

Ayrıca Okuyun: PHP'de Kariyer Fırsatları

Brute Force kullanarak PHP Rastgele Dizi Oluşturma

PHP'de rastgele dize oluşturma kaba kuvvet kavramı, anlaşılması en basit ve uygulanması en kolay olanıdır. Genel olarak kaba kuvvet yaklaşımı dört kolay adımda açıklanabilir:

  1. Tüm olası karakterleri bir araya toplayın ve bunları tek bir dizgeye koyun (bu, dizginizde izin verilen tüm karakterlerin örnek alan deponuzdur).
  2. 0'dan (sıfır) başlayan ve "-1" dize uzunluğuna kadar uzanan bir "rastgele dizin" oluşturun.
  3. Geçerli dizin konumunda bir karakter yazdırın.
  4. X, dizginizde ihtiyaç duyduğunuz karakter sayısıysa (istediğiniz dize uzunluğu), toplam talimat döngünüzde 1, 2 ve 3. adımları toplam X kez tekrarlayın.

Aşağıdaki örnek kod uygulamasında görebileceğiniz gibi, bu PHP'de rastgele bir dize oluşturmanın açık ara en basit yoludur.

Basit kod:

<?php

$n=10;

function getName($n) {

$karakterler = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$rastgeleDize = ”;

for ($i = 0; $i < $n; $i++) {

$index = rand(0, strlen($karakter) – 1);

$randomString .= $karakterler[$dizin];

}

$randomString döndür;

}

echo getName($n);

?>

Mutlaka Okuyun: PHP Mülakat Soruları ve Cevapları

“Hashing” işlevlerini kullanarak bir PHP Rastgele Dize Oluşturma

PHP, md5 (), sha1 () ve hash () gibi " karma işlevleri" olarak bilinen bazı yerleşik işlevlere sahiptir . Bu işlevler, "sha1", "sha256" ve "md5" gibi belirli algoritmalar tarafından tanımlanan bir dizeyi "karma" yapmak için kullanılabilir. Bu işlevlerin tümünde, argüman bir dizedir ve çıktı bir alfasayısal karma dizedir (Aşağıdaki örnek kodda görüldüğü gibi).

Basit kod:

<?php

$str=rand();

$sonuç = md5($str);

yankı $sonuç;

?>

Yerleşik “uniqid()” işlevini kullanarak bir PHP Rastgele Dize Oluşturma

PHP, şu anki zamandan türetilmiş bir “Benzersiz Kimlik (UID)” oluşturmak için kullanılabilen uniqid() gibi özel yerleşik işlevlerle, mükemmel bir kişiselleştirme aracı olarak değerinin bir benzerini korur. mikrosaniye ("mikro zaman" olarak da bilinir).

Varsayılan sözdizimi altında, uniqid() işlevi her zaman dize uzunluğu 13 karakter olan benzersiz bir alfasayısal dize döndürür. uniqid() yönteminin bir uygulamasını test etmek için aşağıdaki örnek kodu kullanabilirsiniz.

Basit kod:

<?php

$sonuç = uniqid();

yankı $sonuç;

?>

random_bytes() ve bin2hex() kullanarak bir PHP Rastgele Dize Oluşturma

Bu, "sözde-rastgele" baytlar oluşturmanın ve daha sonra bunları mevcut rastgeleleştirmeye bir şifreleme katmanı eklemek için onaltılık bir biçime dönüştürmenin açık ara en gelişmiş ve güvenli yoludur.

İlk adım, kriptografik olarak güvenli rastgele baytlar oluşturmak için yerleşik random_bytes () işlevini çağırmaktır. Sonraki adım, bu ikili verileri (bayt sayısı) argüman olarak kullanacak ve çıktı olarak mükemmel bir şekilde kullanılabilir ve benzersiz bir alfasayısal dize olan karşılık gelen bir onaltılık değer üretecek olan bin2hex () işlevini çağırmaktır. Bu, aşağıdaki örnek kodda daha iyi açıklanmıştır.

Basit kod:

<?php

$n = 20;

$sonuç = bin2hex(random_bytes($n));

yankı $sonuç;

?>

Sıradaki ne?

upGrad , PHP ile programlamayı ve upGrad'ın Tam Yığın Geliştirmede Yazılım Geliştirme Uzmanlığı PG Diploması ile çok daha fazlasını getiriyor . Tam bir yığın geliştirici olarak ortaya çıkmanızı ve harika uygulamalardan bazılarını oluşturmayı öğrenmenizi sağlayacak bir program. Canlı projeler ve ödevler üzerinde çalışmayı ve ayrıca 15 programlama dili ve aracını eğitmeyi içeren 12 aylık kapsamlı bir programdır. Bununla birlikte, sahte mülakatlar ve iş yardımı ile her zaman kariyer desteğine sahiptir.

Hayalinizdeki İşe Yer Açın

YÜKSELTME VE IIIT-BANGALORE'NİN PG DİPLOMASI TAM Yığın halinde
Daha fazla bilgi edin