วิธีสร้างสตริงสุ่มใน PHP [พร้อมตัวอย่าง]

เผยแพร่แล้ว: 2020-11-24

ในขณะที่เปิดตัว PHP ย่อมาจาก หน้าแรกส่วน บุคคล และในขณะที่การเดินทางเชิงวิวัฒนาการทำให้อุตสาหกรรมมีคำจำกัดความอื่นและเป็นที่ยอมรับมากขึ้น (แบบเรียกซ้ำ) เป็น PHP: Hypertext PreProcessor ความจริงเกี่ยวกับ PHP ก็คือมันยังคงซึมซับจิตวิญญาณของการ ปรับเปลี่ยน ในแบบของคุณ มากกว่าสิ่งอื่นใด

ปัจจุบัน PHP เป็นทางเลือกที่นิยมใช้มากที่สุด ฟรี และเป็นโอเพ่นซอร์ส เมื่อเทียบกับภาษาการกำหนดค่าเซิร์ฟเวอร์ชั้นนำอื่นๆ ทั้งหมด เช่น ASP ของ Microsoft (Active Server Pages) ส่วนใหญ่ของลักษณะส่วนบุคคลนี้ดำเนินการโดยมี ล่าม PHP ที่ฝั่งเซิร์ฟเวอร์ ซึ่งสามารถนำไปใช้เป็น โมดูล , ภูต หรือ โปรแกรม ปฏิบัติการ

อินเทอร์เฟซ PHP มีประโยชน์ในการจัดการข้อมูลที่เน้นผู้ใช้เป็นศูนย์กลาง เช่น UID (ตัวระบุที่ไม่ซ้ำกัน) ที่อยู่อีเมล ชื่อผู้ใช้ รหัสผ่าน ข้อมูลติดต่อที่เป็นความลับ และอื่นๆ อีกมากมาย

ระบบจัดการเนื้อหาไดนามิกชั้นนำของโลก (รวมถึง CMS ยักษ์ WordPress) หากไม่ทั้งหมด เป็นแพลตฟอร์มที่ใช้ PHP ซึ่งช่วยให้สร้างและบำรุงรักษาทั้งบันทึกผู้ใช้และบันทึกเนื้อหาได้ง่าย ในรูปแบบของฐานข้อมูลที่เข้าถึงได้ของ PHP .

ในบทความนี้ เราจะมาสำรวจแง่มุมเฉพาะของ PHP ที่ทำให้ผู้ดูแลระบบสามารถเติมฟิลด์บังคับทั้งหมดที่จำเป็นในการสร้าง "ผู้ใช้" ใหม่ได้โดยง่าย โดยมีการแทรกแซงขั้นต่ำจากทั้งฝั่งผู้ดูแลระบบและฝั่งผู้ใช้ . ในการทำเช่นนี้ ผู้ดูแลระบบต้องเรียนรู้ วิธีสร้างสตริงสุ่ม PHP และนั่นคือสิ่งที่เราจะพูดถึง

อ่าน: แนวคิดและหัวข้อโครงการ PHP

สารบัญ

สตริงสุ่ม PHP คืออะไร?

สตริงสุ่มของ PHP เป็นสตริงอักขระที่ไม่ซ้ำกัน สุ่ม และเป็นตัวอักษรและตัวเลขที่สามารถใช้ได้ในอาร์เรย์เป็นชื่อไฟล์ เป็นส่วนขยาย URL แบบสุ่ม เป็นรหัสผ่าน หรือเป็นโทเค็นการพิสูจน์ตัวตน (เช่น โทเค็น API ทั่วไปและ API Secrets ตามที่เห็นบนอินเทอร์เฟซการพัฒนาแอพของ Facebook)

บล็อกเกอร์ที่ใช้บ่อย โดยเฉพาะผู้ที่ใช้แพลตฟอร์มเช่นสื่อเพื่อเผยแพร่ผลงาน จะเห็นการกระทำของการสร้างสตริงแบบสุ่มนี้ทุกครั้งที่พวกเขาเผยแพร่เรื่องราวหรือโพสต์ใหม่ – ส่วนขยาย URL ที่ตามหลังโดเมนหลักมักเป็นผลมาจาก สตริงที่กำหนดเองถูกสร้างขึ้นโดยอินเทอร์เฟซการเผยแพร่

ตัวอย่างเช่น ใน URL https://medium.com/neli/shiring-revealing-the-best-kept-secret-of-ancient-indian-meditation- c37d87e3386b ส่วนสุดท้ายของ URL (c37d87e3386b) จะเป็นการ สุ่ม สตริงที่ สร้าง การอ้างอิงที่ง่ายและสำคัญอื่นๆ ของสตริงสุ่ม PHP รวมถึงรหัสผ่าน "เริ่มต้น" ที่สร้างขึ้นสำหรับบัญชีผู้ใช้ใหม่ทั้งหมดบน WordPress

แพลตฟอร์มอินเทอร์เน็ตสำหรับผู้บริโภคส่วนใหญ่ที่เพิ่มขึ้นกำลังเปลี่ยนไปใช้สตริงสุ่ม PHP เพื่อใช้ประโยชน์จากพลังของการเข้ารหัสในการเปิดใช้การลงชื่อเข้าใช้ "ลิงก์มายากล" หากคุณเคยใช้บริการบนคลาวด์ที่ใช้การลงชื่อเข้าใช้ "ลิงก์วิเศษ" แสดงว่าคุณคุ้นเคยกับความสะดวก ประสิทธิภาพ และชั้นความปลอดภัยที่เพิ่มขึ้นซึ่งมาพร้อมกับการสร้างและการจับคู่สตริงแบบสุ่มของ PHP

วิธีสร้างสตริงสุ่ม PHP

งานในมือคือการเขียนโค้ดที่สร้างสตริงแบบสุ่ม ตัวเลขและตัวอักษรที่ไม่ซ้ำกันโดยใช้ PHP มีสี่วิธีที่แตกต่างกันซึ่งสามารถทำได้:

  1. โดยใช้ กำลังเดรัจฉาน (การจัดทำดัชนีแบบสุ่ม) – นี่เป็นวิธีที่ง่ายที่สุด แต่ยังเป็นวิธีที่หยาบเพื่อให้ได้สตริงสุ่ม PHP
  2. โดยใช้ ฟังก์ชัน " hashing " (การสร้างอัลกอริทึมของสตริงสุ่ม PHP – นี่เป็นวิธีการที่ชาญฉลาดกว่าเล็กน้อยเมื่อเทียบกับการใช้กำลังเดรัจฉาน)
  3. โดยใช้ ฟังก์ชัน uniqid() ใน ตัว (ซึ่งตรงไปตรงมาและใช้ประโยชน์จากฟังก์ชัน PHP ที่สร้างขึ้นเพื่อสร้างตัวระบุที่ไม่ซ้ำกันสำหรับองค์ประกอบ)
  4. โดยการใช้ random_bytes() ตามด้วย bin2hex() – เขาสร้างไบต์สุ่มที่ปลอดภัยในการเข้ารหัส และมีฟังก์ชันการทำงานที่น่าทึ่งสำหรับอินเทอร์เฟซ เช่น ลอตเตอรี่ออนไลน์ เกมโป๊กเกอร์ออนไลน์ และแพลตฟอร์มอื่น ๆ ที่ต้องการการสร้างตัวเลขแบบเรียลไทม์พร้อมการสุ่มอย่างแท้จริงในแกนหลัก

อ่านเพิ่มเติม: โอกาสในการทำงานใน PHP

การสร้างสตริงสุ่ม PHP โดยใช้ Brute Force

แนวคิดแบบเดรัจฉานของการสร้างสตริงแบบสุ่มใน PHP นั้นง่ายต่อการเข้าใจและใช้งานง่ายที่สุด โดยกว้างๆ วิธีการแบบเดรัจฉานสามารถอธิบายได้ในสี่ขั้นตอนง่ายๆ:

  1. รวมอักขระที่เป็นไปได้ทั้งหมดและใส่ไว้ในสตริงเดียว (นี่คือที่เก็บตัวอย่างพื้นที่ของอักขระที่อนุญาตทั้งหมดในสตริงของคุณ)
  2. สร้าง "ดัชนีสุ่ม" ที่เริ่มต้นที่ 0 (ศูนย์) และขยายไปถึงความยาวของสตริง "-1"
  3. พิมพ์อักขระที่ตำแหน่งดัชนีปัจจุบัน
  4. ถ้า X คือจำนวนอักขระที่คุณต้องการในสตริงของคุณ (ความยาวสตริงที่คุณต้องการ) ให้ทำซ้ำขั้นตอนที่ 1, 2 และ 3 รวม X ครั้งในลูปคำสั่งทั้งหมดของคุณ

ดังที่คุณเห็นในตัวอย่างการใช้งานโค้ดด้านล่าง นี่เป็นวิธีที่ตรงไปตรงมาที่สุดในการสร้างสตริงสุ่มใน PHP

รหัสตัวอย่าง:

<?php

$n=10;

ฟังก์ชัน getName($n) {

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$randomString = ”;

สำหรับ ($i = 0; $i < $n; $i++) {

$index = rand(0, strlen($ตัวอักษร) – 1);

$randomString .= $ตัวละคร[$index];

}

ส่งคืน $randomString;

}

เสียงสะท้อน getName($n);

?>

ต้องอ่าน: คำถามและคำตอบสัมภาษณ์ PHP

การสร้าง PHP Random String โดยใช้ฟังก์ชัน “Hashing”

PHP มีฟังก์ชันในตัวที่เรียกว่า " ฟังก์ชัน แฮช " เช่น md5 (), sha1 () และ แฮช () ฟังก์ชันเหล่านี้สามารถใช้เพื่อ "แฮช" สตริงที่กำหนดโดยอัลกอริทึมเฉพาะ เช่น "sha1", "sha256" และ "md5" ในฟังก์ชันทั้งหมดเหล่านี้ อาร์กิวเมนต์เป็นสตริง และเอาต์พุตเป็น สตริงที่แฮชที่เป็น ตัวอักษรและตัวเลข (ดังแสดงในโค้ดตัวอย่างด้านล่าง)

รหัสตัวอย่าง:

<?php

$str=rand();

$ผลลัพธ์ = md5($str);

ก้อง $ผล;

?>

การสร้างสตริงสุ่ม PHP โดยใช้ฟังก์ชัน "uniqid ()" ที่สร้างขึ้น

PHP รักษาความคล้ายคลึงของคุณค่าเป็นเครื่องมือปรับแต่งส่วนบุคคลที่ยอดเยี่ยมด้วยฟังก์ชันพิเศษในตัวเช่น uniqid () ซึ่งสามารถใช้เพื่อสร้าง "Unique ID (UID)" ที่ได้มาจากเวลาปัจจุบันบันทึกไว้ใน ไมโครวินาที (หรือที่เรียกว่า “ไมโครไทม์”)

ภายใต้ไวยากรณ์เริ่มต้น ฟังก์ชัน uniqid() จะส่งคืนสตริงที่เป็นตัวอักษรและตัวเลขคละกันที่มีความยาวสตริง 13 อักขระเสมอ คุณสามารถใช้โค้ดตัวอย่างด้านล่างเพื่อทดสอบการใช้งานเมธอด uniqid()

รหัสตัวอย่าง:

<?php

$ผล = uniqid();

ก้อง $ผล;

?>

การสร้างสตริงสุ่ม PHP โดยใช้ random_bytes() และ bin2hex()

จนถึงตอนนี้เป็นวิธีที่มีการ พัฒนา และ ปลอดภัย ที่สุดในการสร้างไบต์ "สุ่มเทียม" แล้วแปลงเป็นรูปแบบเลขฐานสิบหกเพื่อเพิ่มชั้นของการเข้ารหัสให้กับการสุ่มที่มีอยู่

ขั้นตอนแรกคือการเรียกใช้ ฟังก์ชัน random_bytes () ที่สร้างขึ้นเพื่อสร้างไบต์สุ่มที่ปลอดภัยด้วยการเข้ารหัส ขั้นตอนต่อไปคือการเรียกใช้ ฟังก์ชัน bin2hex () ที่จะใช้ข้อมูลไบนารีนี้ (จำนวนไบต์) เป็นอาร์กิวเมนต์ และสร้างค่าเลขฐานสิบหกที่สอดคล้องกันเป็นเอาต์พุต ซึ่งเป็น สตริง อธิบายได้ดีกว่าในโค้ดตัวอย่างด้านล่าง

รหัสตัวอย่าง:

<?php

$n = 20;

$ผลลัพธ์ = bin2hex(random_bytes($n));

ก้อง $ผล;

?>

อะไรต่อไป?

upGrad นำเสนอการเขียนโปรแกรมด้วย PHP และอีกมากมายด้วยประกาศนียบัตร PG ของ upGrad ด้านความเชี่ยวชาญด้านการพัฒนา ซอฟต์แวร์ ใน Full Stack Development โปรแกรมที่จะทำให้คุณกลายเป็นนักพัฒนาเต็มรูปแบบและเรียนรู้การสร้างแอปพลิเคชันที่ยอดเยี่ยม เป็นโปรแกรม 12 เดือนที่ครอบคลุมการทำงานจริงในโครงการและงานที่ได้รับมอบหมาย และการฝึกอบรมภาษาโปรแกรมและเครื่องมือ 15 ภาษา นอกจากนี้ยังมีการสนับสนุนด้านอาชีพตลอดเวลาด้วยการสัมภาษณ์จำลองและความช่วยเหลือด้านงาน

ลงจอดบนงานในฝันของคุณ

อัปเกรดและ PG DIPLOMA ของ IIIT-BANGALORE ใน FULL STACK
เรียนรู้เพิ่มเติม