PHP 7 - CSPRNG
ใน PHP 7 มีการนำเสนอฟังก์ชันใหม่สองฟังก์ชันต่อไปนี้เพื่อสร้างจำนวนเต็มและสตริงที่ปลอดภัยในการเข้ารหัสด้วยวิธีข้ามแพลตฟอร์ม
random_bytes() - สร้างไบต์สุ่มหลอกที่ปลอดภัยด้วยการเข้ารหัส
random_int() - สร้างจำนวนเต็มสุ่มหลอกที่ปลอดภัยด้วยการเข้ารหัส
random_bytes ()
random_bytes () สร้างสตริงของไบต์สุ่มการเข้ารหัสที่มีความยาวโดยพลการซึ่งเหมาะสำหรับการใช้งานในการเข้ารหัสเช่นเมื่อสร้างเกลือคีย์หรือเวกเตอร์การเริ่มต้น
ไวยากรณ์
string random_bytes ( int $length )
พารามิเตอร์
length - ความยาวของสตริงสุ่มที่ควรส่งคืนเป็นไบต์
ส่งคืนค่า
ส่งคืนสตริงที่มีจำนวนไบต์สุ่มที่ปลอดภัยที่เข้ารหัสลับที่ร้องขอ
ข้อผิดพลาด / ข้อยกเว้น
หากไม่พบแหล่งที่มาของการสุ่มที่เหมาะสมข้อยกเว้นจะถูกโยนทิ้ง
หากกำหนดพารามิเตอร์ที่ไม่ถูกต้อง a TypeError จะถูกโยนทิ้ง
หากระบุความยาวของไบต์ที่ไม่ถูกต้องข้อผิดพลาดจะถูกโยนทิ้ง
ตัวอย่าง
<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));
?>
สร้างผลลัพธ์ของเบราว์เซอร์ต่อไปนี้ -
54cc305593
random_int ()
random_int() สร้างจำนวนเต็มสุ่มการเข้ารหัสที่เหมาะสำหรับใช้ในกรณีที่ผลลัพธ์ที่เป็นกลางมีความสำคัญ
ไวยากรณ์
int random_int ( int $min , int $max )
พารามิเตอร์
min - ค่าต่ำสุดที่จะส่งคืนซึ่งต้องเป็น PHP_INT_MIN หรือสูงกว่า.
max - ค่าสูงสุดที่จะส่งคืนซึ่งต้องน้อยกว่าหรือเท่ากับ PHP_INT_MAX.
ส่งคืนค่า
ส่งคืนจำนวนเต็มสุ่มที่ปลอดภัยด้วยการเข้ารหัสในช่วงต่ำสุดถึงสูงสุดรวม
ข้อผิดพลาด / ข้อยกเว้น
หากไม่พบแหล่งที่มาของการสุ่มที่เหมาะสมไฟล์ Exception จะถูกโยนทิ้ง
หากกำหนดพารามิเตอร์ที่ไม่ถูกต้อง a TypeError จะถูกโยนทิ้ง
ถ้าสูงสุดน้อยกว่านาที Error จะถูกโยนทิ้ง
ตัวอย่าง
<?php
print(random_int(100, 999));
print("");
print(random_int(-1000, 0));
?>
สร้างผลลัพธ์ของเบราว์เซอร์ต่อไปนี้ -
614
-882