เครื่องมือสร้างคีย์ API แบบสุ่ม - คีย์ 32 ตัวอักษรที่ปลอดภัยฟรี
สร้างคีย์ API ที่ปลอดภัยทางคริปโตกราฟีได้ทันที เครื่องมือออนไลน์ฟรีสร้างคีย์ตัวอักษรและตัวเลข 32 ตัวอักษรสำหรับการตรวจสอบสิทธิ์ การสร้างฝั่งไคลเอนต์ ไม่มีการจัดเก็บ
เครื่องสร้างคีย์ API
เอกสารประกอบการใช้งาน
เครื่องมือสร้างคีย์ API แบบสุ่มคือเครื่องมือที่สร้างสตริงตัวอักษรและตัวเลขแบบสุ่มเพื่อใช้เป็นรหัสลักษณะเดียวกับรหัสผ่านระหว่างโปรแกรมคอมพิวเตอร์สองโปรแกรม เครื่องมือนี้ทำงานทั้งหมดภายในเว็บเบราว์เซอร์ของผู้เข้าชม และให้ผู้ใช้เลือกความยาวคีย์ตั้งแต่ 8 ถึง 128 อักขระ โดยกำหนดค่าเริ่มต้นไว้ที่ 32 อักขระ
API key คืออะไร?
คีย์ API คือสตริงอักขระที่โปรแกรมส่งไปพร้อมกับคำขอ เพื่อยืนยันว่าโปรแกรมนั้นได้รับอนุญาตให้ใช้บริการ เว็บเซิร์ฟเวอร์จะตรวจสอบคีย์ก่อนตอบคำขอ ต่างจากชื่อผู้ใช้และรหัสผ่าน คีย์ API มักใช้ระบุแอปพลิเคชันหรือสคริปต์ ไม่ใช่บุคคล
คีย์จะทำงานได้ดีที่สุดเมื่อไม่มีใครเดาได้ เครื่องมือสร้างคีย์ที่ใช้การสุ่มอย่างแท้จริงจะหลีกเลี่ยงรูปแบบที่มักปรากฏในคีย์ที่คนพิมพ์เอง เช่น อักขระซ้ำหรือคำสั้น ๆ ที่จดจำได้ง่าย
เครื่องมือนี้ทำงานอย่างไร
เครื่องมือสร้างคีย์แต่ละคีย์จากชุดอักขระคงที่จำนวน 62 ตัว ได้แก่ ตัวพิมพ์ใหญ่ 26 ตัว A–Z ตัวพิมพ์เล็ก 26 ตัว a–z และตัวเลข 10 ตัว 0–9 สำหรับคีย์ที่มีความยาว n จะเลือกอักขระจากชุดนี้ทีละตัวจนครบ n ตัว
อักขระแต่ละตัวมาจาก Web Crypto API ของเบราว์เซอร์ โดยเฉพาะ crypto.getRandomValues() ซึ่งเป็นตัวสร้างตัวเลขสุ่มที่ปลอดภัยทางการเข้ารหัส (CSPRNG) ต่างจาก Math.random() ของ JavaScript ที่คาดเดาได้และไม่เหมาะสำหรับค่าที่เกี่ยวข้องกับความปลอดภัย
หากต้องการเลือกอักขระอย่างยุติธรรมจากตัวเลือก 62 ตัวด้วยไบต์สุ่มหนึ่งไบต์ (มีค่าที่เป็นไปได้ 256 ค่า) เครื่องมือไม่สามารถใช้ byte % 62 ได้โดยตรง เนื่องจาก 256 หารด้วย 62 ไม่ลงตัว การหาเศษแบบธรรมดาจะทำให้อักขระกลุ่มแรก ๆ ในชุดมีโอกาสถูกเลือกมากกว่าตัวอื่นเล็กน้อย เครื่องมือหลีกเลี่ยงความเอนเอียงนี้ด้วยการสุ่มแบบปฏิเสธ โดยทิ้งไบต์สุ่มใด ๆ ที่จะทำให้เกิดความเอนเอียง แล้วสุ่มค่าใหม่แทน ดังนั้นอักขระทุกตัวในคีย์สุดท้ายจึงมีโอกาสปรากฏในแต่ละตำแหน่งเท่ากันโดยไม่มีความเอนเอียง
วิธีสร้างคีย์ API
- ป้อนความยาวคีย์ระหว่าง 8 ถึง 128 อักขระ หรือใช้ค่าเริ่มต้น 32 หากป้อนตัวเลขนอกช่วง ระบบจะแจ้งข้อผิดพลาดและใช้ความยาวที่อนุญาตซึ่งใกล้เคียงที่สุดแทน
- คลิก "Generate" คีย์จะปรากฏในกล่องข้อความที่สร้างขึ้นทั้งหมดภายในเบราว์เซอร์ เมื่อคลิกกล่อง ระบบจะเลือกคีย์ทั้งหมด
- คลิก "Copy" เพื่อคัดลอกคีย์ไปยังคลิปบอร์ด เบราว์เซอร์บางรุ่นจะขออนุญาตในครั้งแรก
- คลิก "Regenerate" เพื่อสร้างคีย์ใหม่ที่มีความยาวเท่าเดิม หรือคลิก "Reset" เพื่อล้างคีย์และคืนค่าความยาวเริ่มต้นเป็น 32
ใต้คีย์ เครื่องมือจะแสดงตัวเลขสามรายการ ได้แก่ ความยาวคีย์เป็นจำนวนอักขระ ขนาดชุดอักขระ (เท่ากับ 62 เสมอ) และเอนโทรปีเป็นบิต
ไม่มีการส่งคีย์ไปยังเซิร์ฟเวอร์ บันทึกลงระบบ หรือจัดเก็บไว้ การสร้างคีย์เกิดขึ้นด้วยโค้ด JavaScript ภายในเครื่อง ดังนั้นการตรวจสอบกิจกรรมเครือข่ายของเบราว์เซอร์ระหว่างการสร้างจะแสดงว่าไม่มีคำขอขาออก
วิธีคำนวณจำนวนคีย์ที่เป็นไปได้
จำนวนคีย์ที่แตกต่างกันซึ่งสร้างได้สำหรับความยาวที่กำหนดเป็นไปตามสูตรง่าย ๆ ดังนี้:
โดย N คือจำนวนคีย์ที่เป็นไปได้ c คือขนาดชุดอักขระ และ n คือความยาวคีย์
ขนาดชุดอักขระของเครื่องมือนี้เท่ากับ 62 เสมอ สำหรับความยาวเริ่มต้น 32:
N = 62³² ≈ 2.27 × 10⁵⁷
จำนวนนี้ยังแสดงในรูปเอนโทรปีที่วัดเป็นบิตได้ โดยใช้สูตร:
โดย H คือเอนโทรปีเป็นบิต
สำหรับคีย์ที่มีความยาว 32 อักขระ: 32 × log₂(62) ≈ 32 × 5.95 ≈ 190.5 บิต
ตัวอย่างการคำนวณ: เวลาที่ใช้ลองคีย์ทุกค่า
สมมติว่าผู้โจมตีสามารถทดสอบคีย์ได้หนึ่งพันล้านคีย์ (10⁹) ต่อวินาที ซึ่งเร็วเกินจริงสำหรับระบบจริง การลองคีย์ที่เป็นไปได้ทั้งหมดซึ่งมีความยาว 32 อักขระจะใช้เวลา:
2.27 × 10⁵⁷ ÷ 10⁹ = 2.27 × 10⁴⁸ วินาที ≈ 7.2 × 10⁴⁰ ปี
เพื่อเปรียบเทียบ จักรวาลมีอายุประมาณ 1.4 × 10¹⁰ ปี การค้นหาแบบไล่ครบทุกค่าผ่านคีย์ที่เป็นไปได้ทั้งหมดจึงไม่ใช่ภัยคุกคามที่เป็นไปได้จริงสำหรับความยาวนี้ คีย์ที่สั้นกว่าจะทำให้จำนวนนี้ลดลงอย่างรวดเร็ว: คีย์ที่มีความยาว 8 อักขระมีค่าเป็นไปได้เพียง 62⁸ ≈ 2.18 × 10¹⁴ ค่า ซึ่งคอมพิวเตอร์ที่เร็วอาจค้นหาได้หมดภายในเวลาไม่กี่วัน
เหตุใดแอปพลิเคชันจึงใช้คีย์ API
คีย์ API ช่วยให้บริการระบุได้อย่างง่าย ๆ ว่าแอปพลิเคชันใดเป็นผู้ส่งคำขอ เรื่องนี้มีความสำคัญด้วยเหตุผลบางประการ
การพิสูจน์ตัวตน เซิร์ฟเวอร์สามารถปฏิเสธคำขอที่ไม่มีคีย์ที่ถูกต้อง ซึ่งช่วยป้องกันการใช้งานในทางที่ผิดโดยทั่วไปได้เป็นส่วนใหญ่
การติดตามการใช้งาน เนื่องจากไคลเอนต์แต่ละรายสามารถถือคีย์ที่แตกต่างกันได้ บริการจึงวัดปริมาณการใช้งานของแต่ละรายและกำหนดขีดจำกัดอัตราการใช้งานแยกกันสำหรับแต่ละคีย์
การเพิกถอน คีย์ที่ถูกบุกรุกเพียงคีย์เดียวสามารถปิดใช้งานได้โดยไม่กระทบไคลเอนต์รายอื่น เนื่องจากคีย์แต่ละคีย์เป็นอิสระต่อกัน
คีย์ API ใช้งานและติดตั้งได้ง่ายกว่า OAuth 2.0 ซึ่งเป็นมาตรฐานการพิสูจน์ตัวตนที่ใช้โทเค็นชั่วคราวซึ่งต่ออายุโดยอัตโนมัติ OAuth เหมาะกับบริการสาธารณะที่จัดการข้อมูลส่วนบุคคลของผู้ใช้ ส่วนคีย์ API พบได้ทั่วไปในเครื่องมือภายใน สคริปต์ และการเรียกใช้ระหว่างบริการ ซึ่งยอมรับข้อมูลรับรองที่มีอายุการใช้งานยาวนานได้
แนวทางด้านความปลอดภัยสำหรับคีย์ API
แนวทางบางประการช่วยลดความเสี่ยงจากคีย์ที่รั่วไหลได้:
- อย่าจัดเก็บคีย์ไว้ในซอร์สโค้ด ประวัติการควบคุมเวอร์ชันลบออกได้ยาก และที่เก็บโค้ดสาธารณะถูกสแกนหาข้อมูลรับรองที่เปิดเผยอยู่ตลอดเวลา ควรจัดเก็บคีย์ไว้ในตัวแปรสภาพแวดล้อมหรือเครื่องมือจัดการข้อมูลลับแทน
- หมุนเวียนคีย์เป็นระยะ การเปลี่ยนคีย์ทุกไม่กี่เดือนจะจำกัดระยะเวลาที่คีย์ซึ่งรั่วไหลยังใช้ประโยชน์ได้โดยผู้โจมตี
- ให้สิทธิ์เข้าถึงเท่าที่คีย์จำเป็นต้องใช้ คีย์ที่อ่านข้อมูลได้อย่างเดียวไม่ควรมีสิทธิ์เขียนหรือลบข้อมูลด้วย
- เฝ้าระวังกิจกรรมที่ผิดปกติ เช่น จำนวนคำขอจากคีย์หนึ่งเพิ่มขึ้นอย่างฉับพลัน
ข้อจำกัด
เครื่องมือนี้ไม่เก็บบันทึกคีย์ที่สร้างขึ้น จึงไม่สามารถรับประกันได้ว่าคีย์หนึ่ง ๆ ไม่เคยถูกสร้างมาก่อน โอกาสที่คีย์สุ่มซึ่งมีความยาว 32 อักขระสองคีย์จะตรงกันอยู่ที่ประมาณ 1 ใน (2.5 ซม.) 2.27 × 10⁵⁷ ซึ่งใกล้เคียงศูนย์มากพอสำหรับการใช้งานทั่วไป แต่ระบบที่ต้องการรับประกันความไม่ซ้ำกันอย่างสมบูรณ์ เช่น คีย์หลักของฐานข้อมูล ควรตรวจสอบค่าใหม่กับค่าที่มีอยู่บนเซิร์ฟเวอร์
ชุดอักขระถูกกำหนดตายตัวให้ประกอบด้วยตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก และตัวเลข ไม่รวมสัญลักษณ์ เช่น ! หรือ - ทำให้สามารถวางคีย์ลงใน URL ส่วนหัว และไฟล์การกำหนดค่าส่วนใหญ่ได้อย่างปลอดภัยโดยไม่ต้องทำเอสเคป
คำถามที่พบบ่อย
เครื่องมือสร้างคีย์ API คืออะไร?
เป็นเครื่องมือที่สร้างสตริงแบบสุ่มเพื่อใช้เป็นข้อมูลรับรองการพิสูจน์ตัวตนระหว่างแอปพลิเคชันซอฟต์แวร์ เครื่องมือนี้สร้างคีย์ที่มีความยาวตั้งแต่ 8 ถึง 128 อักขระ โดยเลือกจากอักขระที่เป็นไปได้ 62 ตัว และใช้ตัวสร้างตัวเลขสุ่มที่ปลอดภัยทางการเข้ารหัสของเบราว์เซอร์
คีย์จากเครื่องมือนี้ปลอดภัยเพียงพอสำหรับใช้ในระบบจริงหรือไม่?
ตัวการสุ่มเองมีความปลอดภัยทางการเข้ารหัส ความปลอดภัยโดยรวมยังขึ้นอยู่กับวิธีจัดเก็บและส่งคีย์ในภายหลังด้วย ดังนั้นอย่าบันทึกคีย์ลงในการควบคุมซอร์สโค้ด ส่งคีย์ผ่าน HTTPS เสมอ และหมุนเวียนคีย์ตามกำหนดเวลาอย่างสม่ำเสมอ
ควรเลือกความยาวเท่าใด?
ค่าเริ่มต้นที่ 32 อักขระให้ชุดค่าผสมที่เป็นไปได้ประมาณ 2.27 × 10⁵⁷ แบบ มากเกินกว่าที่การโจมตีแบบไล่ครบทุกค่าซึ่งเป็นไปได้จริงจะค้นหาได้ คีย์ที่สั้นกว่า เช่น 16 อักขระ อาจเหมาะกับเครื่องมือภายในที่มีความเสี่ยงต่ำ คีย์ที่ยาวมากให้การป้องกันเพิ่มขึ้นเพียงเล็กน้อย แต่จัดเก็บและวางได้ยากกว่า
สามารถกำหนดความยาวเองได้หรือไม่?
ได้ ช่องความยาวรับจำนวนเต็มใด ๆ ตั้งแต่ 8 ถึง 128 ชุดอักขระเอง (A–Z, a–z, 0–9) ยังคงเดิม
เครื่องมือนี้จัดเก็บหรือส่งคีย์ที่สร้างขึ้นหรือไม่?
ไม่ คีย์ทุกคีย์สร้างด้วย JavaScript ภายในเครื่องในเบราว์เซอร์ ไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์ บันทึกลงระบบ หรือจัดเก็บไว้
คีย์ API แตกต่างจากโทเค็น OAuth อย่างไร?
คีย์ API เป็นข้อมูลรับรองที่มีอายุการใช้งานยาวนานและยังใช้ได้จนกว่าจะมีผู้เพิกถอน ส่วนโทเค็น OAuth จะหมดอายุโดยอัตโนมัติหลังเวลาที่กำหนด และสามารถต่ออายุได้โดยไม่ต้องให้ผู้ใช้ดำเนินการโดยตรง OAuth เหมาะกับบริการสาธารณะที่จัดการข้อมูลส่วนบุคคล ส่วนคีย์ API เหมาะกับการใช้งานที่เรียบง่าย การใช้งานภายใน หรือการพัฒนา
เครื่องมือนี้รองรับเบราว์เซอร์ใดบ้าง?
เบราว์เซอร์ใด ๆ ที่มี Web Crypto API ซึ่งครอบคลุม Chrome, Firefox, Safari, Edge และ Opera ทุกเวอร์ชันที่เปิดตัวในช่วงสิบปีที่ผ่านมา หากไม่มี API ดังกล่าว เครื่องมือจะแสดงข้อความผิดพลาด และจะไม่เปลี่ยนไปใช้ Math.random() ซึ่งไม่ปลอดภัย