Bash:
การสร้างตัวเลขสุ่ม
วิธีการ:
ใน Bash, ตัวแปร $RANDOM
เป็นตัวเลือกหลักสำหรับการสร้างตัวเลขสุ่ม ทุกครั้งที่คุณอ้างอิงถึงมัน Bash จะให้จำนวนเต็มปลอมสุ่มระหว่าง 0 ถึง 32767 มาดูตัวอย่างที่ใช้งานได้จริงกัน:
# วิธีการใช้ $RANDOM แบบพื้นฐาน
echo $RANDOM
# การสร้างตัวเลขสุ่มในช่วงที่ระบุ (ที่นี่คือ 0-99)
echo $(( RANDOM % 100 ))
# การสร้างตัวเลขสุ่มที่ "ปลอดภัย" มากขึ้น เหมาะสำหรับรหัสผ่านหรือกุญแจ
# ใช้ /dev/urandom กับคำสั่ง od
head -c 8 /dev/urandom | od -An -tu4
# การกำหนดค่าเริ่มต้นของ RANDOM เพื่อการสร้างผลลัพธ์ที่สามารถทำซ้ำได้
RANDOM=42; echo $RANDOM
ตัวอย่างผลลัพธ์ (หมายเหตุ: ผลลัพธ์จริงจะแตกต่างกันเนื่องจากตัวเลขเป็นสุ่ม):
16253
83
3581760565
17220
การเจาะลึก
กลไกเบื้องหลัง $RANDOM
ของ Bash ในการสร้างตัวเลขเทียมสุ่ม หมายความว่าพวกมันตามอัลกอริทึมและสามารถเดาได้ในทฤษฎี - ซึ่งเป็นจุดบกพร่องด้านความปลอดภัยสำหรับการใช้งานที่ต้องการความไม่สามารถคาดเดาแท้จริง การใช้งานเข้ารหัสลับสมัยใหม่มักต้องการความไม่แน่นอนที่ได้มาจากปรากฏการณ์ธรรมชาติหรือจากฮาร์ดแวร์ที่ออกแบบมาเฉพาะเพื่อสร้างข้อมูลแบบสุ่ม เช่น /dev/urandom
หรือ /dev/random
ใน Linux ที่เก็บเสียงรบกวนจากสภาพแวดล้อม
สำหรับงานที่ไม่วิจารณ์ด้านความปลอดภัยหรืองานทั่วไป $RANDOM
ก็เพียงพอและให้ประโยชน์ในด้านความง่าย อย่างไรก็ตาม สำหรับวัตถุประสงค์ทางการเข้ารหัสลับหรือตรงที่คุณภาพของความสุ่มเป็นสิ่งสำคัญ นักพัฒนาควรมองหาเครื่องมือและภาษาที่ออกแบบมาพิเศษด้วยการเข้ารหัสลับในใจ เช่น OpenSSL หรือภาษาการเขียนโปรแกรมที่มีไลบรารีเครื่องกำเนิดตัวเลขสุ่มที่แข็งแกร่ง
ในขณะที่ $RANDOM
ของ Bash ให้บริการได้ตามวัตถุประสงค์ในสคริปต์ที่ต้องการตัวเลขสุ่มพื้นฐาน ข้อจำกัดควรนำนักพัฒนาไปสู่โซลูชันที่แข็งแกร่งยิ่งขึ้นสำหรับการใช้งานที่คุณภาพหรือความปลอดภัยของความสุ่มมีความสำคัญ