ข้ามไปยังเนื้อหา

เครื่องมือสร้างคีย์ API แบบสุ่ม - คีย์ 32 ตัวอักษรที่ปลอดภัยฟรี

สร้างคีย์ API ที่ปลอดภัยทางคริปโตกราฟีได้ทันที เครื่องมือออนไลน์ฟรีสร้างคีย์ตัวอักษรและตัวเลข 32 ตัวอักษรสำหรับการตรวจสอบสิทธิ์ การสร้างฝั่งไคลเอนต์ ไม่มีการจัดเก็บ

เครื่องสร้างคีย์ API

คีย์ที่ถูกสร้างขึ้นภายในเครื่องในเบราวเซอร์ของคุณโดยใช้ Web Crypto API (CSPRNG) โดยใช้การสุ่มตัวอย่างการปฏิเสธที่ไม่มีอคติ ไม่มีอะไรส่งไปยังเซิร์ฟเวอร์ใด ๆ
เครื่องคำนวณโหลด...
📚

เอกสารประกอบการใช้งาน

เครื่องมือสร้างคีย์ 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

  1. ป้อนความยาวคีย์ระหว่าง 8 ถึง 128 อักขระ หรือใช้ค่าเริ่มต้น 32 หากป้อนตัวเลขนอกช่วง ระบบจะแจ้งข้อผิดพลาดและใช้ความยาวที่อนุญาตซึ่งใกล้เคียงที่สุดแทน
  2. คลิก "Generate" คีย์จะปรากฏในกล่องข้อความที่สร้างขึ้นทั้งหมดภายในเบราว์เซอร์ เมื่อคลิกกล่อง ระบบจะเลือกคีย์ทั้งหมด
  3. คลิก "Copy" เพื่อคัดลอกคีย์ไปยังคลิปบอร์ด เบราว์เซอร์บางรุ่นจะขออนุญาตในครั้งแรก
  4. คลิก "Regenerate" เพื่อสร้างคีย์ใหม่ที่มีความยาวเท่าเดิม หรือคลิก "Reset" เพื่อล้างคีย์และคืนค่าความยาวเริ่มต้นเป็น 32

ใต้คีย์ เครื่องมือจะแสดงตัวเลขสามรายการ ได้แก่ ความยาวคีย์เป็นจำนวนอักขระ ขนาดชุดอักขระ (เท่ากับ 62 เสมอ) และเอนโทรปีเป็นบิต

ไม่มีการส่งคีย์ไปยังเซิร์ฟเวอร์ บันทึกลงระบบ หรือจัดเก็บไว้ การสร้างคีย์เกิดขึ้นด้วยโค้ด JavaScript ภายในเครื่อง ดังนั้นการตรวจสอบกิจกรรมเครือข่ายของเบราว์เซอร์ระหว่างการสร้างจะแสดงว่าไม่มีคำขอขาออก

วิธีคำนวณจำนวนคีย์ที่เป็นไปได้

จำนวนคีย์ที่แตกต่างกันซึ่งสร้างได้สำหรับความยาวที่กำหนดเป็นไปตามสูตรง่าย ๆ ดังนี้:

N=cnN = c^{n}

โดย N คือจำนวนคีย์ที่เป็นไปได้ c คือขนาดชุดอักขระ และ n คือความยาวคีย์

ขนาดชุดอักขระของเครื่องมือนี้เท่ากับ 62 เสมอ สำหรับความยาวเริ่มต้น 32:

N = 62³² ≈ 2.27 × 10⁵⁷

จำนวนนี้ยังแสดงในรูปเอนโทรปีที่วัดเป็นบิตได้ โดยใช้สูตร:

H=n×log⁡2cH = n \times \log_{2} c

โดย 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() ซึ่งไม่ปลอดภัย