C 1
chengdu
xranzei 1
xranzei
zendor2 1
zendor2
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Almira2 1
Almira2
romegames 1
romegames
D 1
delimuratt
melankolıa18 1
melankolıa18
shrpnl 1
shrpnl
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP – CSPRNG

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,442
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 8 Gün
Başarım Puanı
1,051
MmoLira
695,207
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

ultrafast_blog_1200x600.jpg


CSPRNG kısaltması, Kriptografik Olarak Güvenli Sahte Rastgele Sayı Üreticisi anlamına gelir. PHP fonksiyon kütüphanesi, rastgele sayılar üreten birçok fonksiyon içerir. Örneğin:

  • mt_rand() − Mersenne Twister Rastgele Sayı Üreticisi aracılığıyla rastgele bir değer üretin.
  • mt_srand() − Mersenne Twister Rastgele Sayı Üreticisini Tohumlar
  • rand() − Rastgele bir tam sayı üretir.

Örnek

Aşağıdaki kod, mt_rand() fonksiyonunu kullanarak rastgele sayılar üretmenin nasıl mümkün olduğunu göstermektedir.

PHP:
<?php
   # Generates random integer between the range
   echo "Random integer: " . rand(1,100) . PHP_EOL;
   # Generate a random value via the Mersenne Twister Random Number Generator
   echo "Random number: " . mt_rand(1,100);
?>

Aşağıdaki çıktıyı üretecektir:

Random integer: 45
Random number: 86

Kod her çalıştırıldığında çıktının değişebileceğini unutmayın. Ancak, bu işlevler tarafından üretilen rastgele sayılar kriptografik olarak güvenli değildir, çünkü sonuçlarını tahmin etmek mümkündür. PHP 7, güvenli rastgele sayılar üreten birkaç işlev tanıttı.

Kriptografik olarak güvenli olan aşağıdaki işlevler yeni eklendi:

  • random_bytes() − Kriptografik olarak güvenli yarı rastgele baytlar üretir.
  • random_int() − Kriptografik olarak güvenli yarı-rastgele tamsayılar üretir.

random_bytes() Fonksiyonu

random_bytes(), tuzlar, anahtarlar veya başlatma vektörleri oluştururken olduğu gibi kriptografik kullanım için uygun olan kriptografik rastgele baytlardan oluşan keyfi uzunlukta bir dize üretir.

string random_bytes ( int $length )

Parametreler

  • uzunluk − Bayt cinsinden döndürülmesi gereken rastgele dizenin uzunluğu.
Fonksiyon, istenen sayıda kriptografik olarak güvenli rastgele bayt içeren bir dize döndürür.

Uygun bir rastgelelik kaynağı bulunamazsa, bir Exception atılır. Geçersiz parametreler verilirse, bir TypeError atılır. Geçersiz uzunlukta bayt verilirse, bir Error atılır.

Örnek

Aşağıdaki örneğe bir göz atın:

PHP:
<?php
   $bytes = random_bytes(5);
   print(bin2hex($bytes));
?>

Aşağıdaki çıktıyı üretebilir (her seferinde farklı olabilir):


random_int() Fonksiyonu

random_int() tarafsız sonuçların kritik olduğu durumlarda kullanılmaya uygun kriptografik rastgele tam sayılar üretir.

int random_int ( int $min , int $max )

Parametreler

  • min − Döndürülecek en düşük değer, PHP_INT_MIN veya daha yüksek olmalıdır.
  • max − Döndürülecek en yüksek değer, PHP_INT_MAX'tan küçük veya ona eşit olmalıdır.
Fonksiyon, min ile max aralığında kriptografik olarak güvenli bir rastgele tam sayı döndürür.

Uygun bir rastgelelik kaynağı bulunamazsa, bir Exception atılır. Geçersiz parametreler verilirse, bir TypeError atılır. Max, min'den küçükse, bir Error atılır.

Örnek

Aşağıdaki örneğe bir göz atın:

PHP:
<?php
   print(random_int(100, 999));
   print("\n");
   print(random_int(-1000, 0));
?>

Aşağıdaki çıktıyı üretebilir (her seferinde farklıdır):

 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst