Basic Percona: Generate random terms

KANIN SRIMACHAN
WeLoveBug dot Com
Published in
Aug 16, 2023

ปกปิดข้อมูลด้วยการสุ่มข้อมูลจากชุดคำสั่งแบบสุ่ม เพื่อใช้ในการปกปิดข้อมุลจริง

https://unsplash.com/photos/6ti-VnQ_wyM

วันนี้เราจะมาเรียนรู้ถึงการปกปิดในแบบที่ 2 กัน นั้นคือการปกปิดโดยการสุ่มคำจากระบบ เพื่อทำให้สามารถใช้ข้อมูลนั้นในการทำ powerpoint หรือ นำข้อมูลไปใช้ในการทดสอบได้โดยไม่ติดปัญหา

โดยเราจะมาเรียนรู้การทำงานของการทำ Generate random terms ทั้งหมด 5 แบบ ของ Percona กันครับ

Picture from author

โดยจะสามารถแบ่งได้ 5 แบบ ตามรูปข้างต้น gen_range, gen_rnd_email, gen_rnd_pan, gen_rnd_us_phone, gen_rnd_ssn

แล้วแต่ละอันแตกต่างกันอย่างไรบ้างละ

1.gen_range

สร้างตัวเลขแบบสุ่มตามช่วงที่เลือกและรองรับตัวเลขที่ติดลบ

gen_range, gen_range(lower, upper)

โดยที่ lower และ upper ข้างหลังจากใน parameter นั้นคือตัวเลขน้อยที่สุด และ มากที่สุดที่เราต้องการสุ่ม

เช่น SELECT gen_range(10, 100);

ผลที่ออกมาก็จะได้ เลขสุ่มระหว่าง 10 -100

2.gen_rnd_email

สร้างที่อยู่อีเมลแบบสุ่ม โดยมีโดเมนคือ example.com

gen_rend_email, gen_rnd_email()

หากเราพิมคำสั่ง SELECT gen_rnd_email(); เราก็จะได้ อีเมลซึ่งเป็นอีเมลแบบสุ่ม

เช่น (อีเมล)@example.com นั่นเอง

3.gen_pan

สร้างหมายเลขบัญชีแบบสุ่ม ควรใช้ฟังก์ชันนี้เพื่อจุดประสงค์ในการทดสอบเท่านั้น โดยจะประกอบไปด้วยตัวเลข 15–16 จำนวน

gen_pan, SELECT gen_rnd_pan([size in integer])

โดย size in integer จะสามารถกรอกเลขตั้งแต่ 15 จนถึง 16 ได้

4.gen_rnd_us_phone

สร้างหมายเลขโทรศัพท์ของสหรัฐอเมริกาแบบสุ่ม หมายเลขที่สร้างขึ้นจะเพิ่มรหัสโทรออก 1 และอยู่ในรหัสพื้นที่ 555 รหัสพื้นที่ 555 ใช้ไม่ได้กับหมายเลขโทรศัพท์ใดๆ ในสหรัฐอเมริกา

gen_rnd_us_phone, gen_rnd_us_phone()

โดยหากเราพิมคำสั่ง SELECT gen_rnd_us_phone(); เพื่อทำการทดลองเราก็จำได้ เบอร์โทรในฟอร์แมท อเมริกา (1–555-xxx-xxxx) ออกมา

5.Generate SSN

สร้างหมายเลขประกันสังคมของสหรัฐอเมริกาแบบสุ่มและไม่ถูกต้องในรูปแบบ AAA-BBB-CCCC ควรใช้ฟังก์ชันนี้เพื่อจุดประสงค์ในการทดสอบเท่านั้น

gen_rnd_ssn, gen_rnd_ssn()

เมื่อเราลองใช้ คำสั่ง SELECT gen_rnd_ssn(); เราก็จะได้ เลขประกันสังคมของ อเมริกา (xxx-xx-xxxx) ซึ่งเป็นรูปแบบสุ่ม

หวังว่าบทความนี้จะทำให้ผู้อ่านเข้าใจมากขึ้นไม่มากก็น้อย ขอบคุณที่อ่านกันจนจบครับผม 🎉🎉🎊🎊

--

--