Langkau ke kandungan

Penjana Kekunci API Rawak - Kekunci 32 Aksara Selamat Percuma

Hasilkan kekunci API yang selamat secara kriptografik serta-merta. Alat dalam talian percuma mencipta kekunci alfanumerik rawak 32 aksara untuk pengesahan. Penjana di pihak pelanggan, tiada penyimpanan.

Penjana Kekunci API

Kunci dihasilkan secara lokal di browser Anda dengan Web Crypto API (CSPRNG), menggunakan pengambilan sampel penolakan yang tidak bias. Tidak ada yang dikirim ke server apa pun.
Kalkulator Pemuatan...
📚

Dokumentasi

Penjana kunci API rawak ialah alat yang mencipta rentetan huruf dan angka rawak untuk digunakan sebagai kod seperti kata laluan antara dua program komputer. Alat ini berjalan sepenuhnya dalam pelayar web pelawat. Pengguna boleh memilih panjang kunci daripada 8 hingga 128 aksara, dengan 32 aksara ditetapkan sebagai lalai.

Apakah Kunci API?

Kunci API ialah rentetan aksara yang dihantar oleh program bersama-sama permintaan untuk membuktikan bahawa program itu dibenarkan menggunakan sesuatu perkhidmatan. Pelayan web menyemak kunci tersebut sebelum menjawab permintaan. Berbeza daripada nama pengguna dan kata laluan, kunci API biasanya mengenal pasti aplikasi atau skrip, bukan seseorang.

Kunci berfungsi dengan paling baik apabila tiada sesiapa dapat menekanya. Penjana yang menggunakan kerawakan sebenar mengelakkan corak yang terdapat dalam kunci yang ditaip oleh seseorang, seperti aksara berulang atau perkataan pendek yang mudah diingati.

Cara Penjana Ini Berfungsi

Alat ini membina setiap kunci daripada set tetap yang terdiri daripada 62 aksara: 26 huruf besar A–Z, 26 huruf kecil a–z dan 10 digit 0–9. Bagi kunci sepanjang n, alat ini memilih n aksara daripada set tersebut, satu demi satu.

Setiap aksara datang daripada Web Crypto API pelayar, khususnya crypto.getRandomValues(). Ini ialah penjana nombor rawak yang selamat secara kriptografi (CSPRNG), berbeza daripada Math.random() JavaScript yang boleh diramal dan tidak sesuai untuk nilai yang sensitif dari segi keselamatan.

Untuk memilih aksara secara adil daripada 62 pilihan berdasarkan satu bait rawak (256 nilai yang mungkin), penjana tidak boleh menggunakan byte % 62 begitu sahaja. Oleh sebab 256 tidak boleh dibahagi sama rata dengan 62, operasi modulo biasa akan menyebabkan beberapa aksara pertama dalam set itu berkemungkinan sedikit lebih tinggi berbanding yang lain. Alat ini mengelakkannya melalui persampelan penolakan: alat membuang mana-mana bait rawak yang akan menyebabkan kecenderungan itu dan mengambil bait baharu sebagai ganti. Oleh itu, setiap aksara dalam kunci akhir mempunyai peluang yang sama dan tidak berat sebelah untuk muncul pada setiap kedudukan.

Cara Menjana Kunci API

  1. Masukkan panjang kunci antara 8 hingga 128 aksara, atau kekalkan nilai lalai 32. Nombor di luar julat itu akan ditandakan dan panjang terdekat yang dibenarkan akan digunakan.
  2. Klik "Jana". Kunci itu muncul dalam kotak teks yang dibina sepenuhnya dalam pelayar. Mengklik kotak tersebut akan memilih seluruh kunci.
  3. Klik "Salin" untuk menyalin kunci ke papan klip. Sesetengah pelayar meminta kebenaran pada kali pertama.
  4. Klik "Jana semula" untuk menghasilkan kunci baharu dengan panjang yang sama, atau "Tetapkan semula" untuk mengosongkan kunci dan mengembalikan panjang lalai kepada 32.

Di bawah kunci, alat ini memaparkan tiga angka: panjang kunci dalam aksara, saiz set aksara (sentiasa 62) dan entropi dalam bit.

Tiada kunci dihantar ke pelayan, direkodkan atau disimpan. Penjanaan berlaku dengan kod JavaScript setempat, jadi pemeriksaan aktiviti rangkaian pelayar semasa penjanaan tidak menunjukkan sebarang permintaan keluar.

Cara Mengira Bilangan Kunci yang Mungkin

Bilangan kunci berbeza yang boleh dihasilkan bagi sesuatu panjang mengikut rumus mudah:

N=cnN = c^{n}

dengan N ialah bilangan kunci yang mungkin, c ialah saiz set aksara dan n ialah panjang kunci.

Saiz set aksara sentiasa 62 untuk alat ini. Bagi panjang lalai 32:

N = 62³² ≈ 2.27 × 10⁵⁷

Nombor ini juga dinyatakan sebagai entropi, yang diukur dalam bit, menggunakan rumus:

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

dengan H ialah entropi dalam bit.

Bagi kunci sepanjang 32 aksara: 32 × log₂(62) ≈ 32 × 5.95 ≈ 190.5 bit.

Contoh Penggunaan: Masa untuk Mencuba Setiap Kunci

Andaikan penyerang boleh menguji satu bilion (10⁹) kunci sesaat, iaitu kadar yang tidak realistik bagi mana-mana sistem sebenar. Mencuba setiap kunci sepanjang 32 aksara yang mungkin akan mengambil masa:

2.27 × 10⁵⁷ ÷ 10⁹ = 2.27 × 10⁴⁸ saat ≈ 7.2 × 10⁴⁰ tahun

Sebagai perbandingan, usia alam semesta adalah kira-kira 1.4 × 10¹⁰ tahun. Carian secara cuba jaya melalui setiap kunci yang mungkin bukan ancaman praktikal pada panjang ini. Kunci yang lebih pendek mengurangkan angka ini dengan cepat: kunci sepanjang 8 aksara hanya mempunyai 62⁸ ≈ 2.18 × 10¹⁴ nilai yang mungkin, yang boleh dicari oleh komputer pantas dalam masa beberapa hari.

Mengapa Aplikasi Menggunakan Kunci API

Kunci API memberikan cara mudah kepada perkhidmatan untuk mengenal pasti aplikasi yang membuat permintaan. Hal ini penting atas beberapa sebab.

Pengesahan. Pelayan boleh menolak permintaan yang tiba tanpa kunci sah, sekali gus menyekat kebanyakan penyalahgunaan biasa.

Penjejakan penggunaan. Oleh sebab setiap klien boleh memegang kunci yang berbeza, perkhidmatan boleh mengukur jumlah penggunaan setiap klien dan mengenakan had kadar yang berasingan bagi setiap kunci.

Pembatalan. Satu kunci yang terjejas boleh dimatikan tanpa menjejaskan klien lain, kerana setiap kunci adalah bebas.

Kunci API lebih mudah dilaksanakan berbanding OAuth 2.0, iaitu piawaian pengesahan yang berasaskan token sementara yang diperbaharui secara automatik. OAuth sesuai untuk perkhidmatan yang berhadapan dengan orang awam dan mengendalikan data peribadi pengguna. Kunci API lazim digunakan untuk alat dalaman, skrip dan panggilan antara perkhidmatan, apabila bukti kelayakan yang sah untuk tempoh lama boleh diterima.

Amalan Keselamatan untuk Kunci API

Beberapa amalan dapat mengurangkan risiko kunci yang terbocor:

  • Jangan simpan kunci dalam kod sumber. Sejarah kawalan versi sukar dipadamkan, dan repositori awam sentiasa diimbas untuk mencari bukti kelayakan yang terdedah. Sebaliknya, simpan kunci dalam pemboleh ubah persekitaran atau pengurus rahsia.
  • Putarkan kunci secara berkala. Menggantikan kunci setiap beberapa bulan mengehadkan tempoh kunci yang bocor boleh digunakan oleh penyerang.
  • Berikan akses minimum yang diperlukan oleh kunci. Kunci yang hanya membaca data tidak sepatutnya boleh menulis atau memadam data itu.
  • Pantau aktiviti luar biasa, seperti lonjakan mendadak dalam permintaan daripada satu kunci.

Had

Alat ini tidak menyimpan rekod kunci yang telah dijananya, jadi alat ini tidak dapat menjamin bahawa sesuatu kunci belum pernah dihasilkan sebelum ini. Kebarangkalian dua kunci rawak sepanjang 32 aksara sepadan adalah kira-kira 1 dalam (2.5 cm) 2.27 × 10⁵⁷, yang cukup hampir kepada sifar untuk kegunaan biasa, tetapi sistem yang memerlukan jaminan keunikan mutlak, seperti kunci primer pangkalan data, hendaklah menyemak nilai baharu terhadap nilai sedia ada pada pelayan.

Set aksara ini ditetapkan kepada huruf besar, huruf kecil dan digit. Set ini tidak merangkumi simbol seperti ! atau -, supaya kunci selamat ditampal ke kebanyakan URL, pengepala dan fail konfigurasi tanpa perlu melakukan pelolosan.

Soalan lazim

Apakah penjana kunci API?

Ia ialah alat yang menghasilkan rentetan rawak untuk digunakan sebagai bukti kelayakan pengesahan antara aplikasi perisian. Alat ini mencipta kunci sepanjang 8 hingga 128 aksara, yang dipilih daripada 62 aksara yang mungkin menggunakan penjana nombor rawak pelayar yang selamat secara kriptografi.

Adakah kunci daripada alat ini cukup selamat untuk kegunaan pengeluaran?

Kerawakan itu sendiri selamat secara kriptografi. Keselamatan keseluruhan juga bergantung pada cara kunci disimpan dan dihantar selepas itu: jangan sekali-kali masukkannya ke dalam kawalan sumber, sentiasa hantar melalui HTTPS dan putarkan kunci mengikut jadual yang tetap.

Apakah panjang yang patut saya pilih?

Nilai lalai 32 aksara memberikan kira-kira 2.27 × 10⁵⁷ gabungan yang mungkin, jauh lebih banyak daripada yang boleh dicari oleh sebarang percubaan cuba jaya yang realistik. Kunci yang lebih pendek, seperti kunci sepanjang 16 aksara, mungkin sesuai untuk alat dalaman berisiko rendah. Kunci yang sangat panjang memberikan sedikit perlindungan tambahan, tetapi lebih sukar disimpan dan ditampal.

Bolehkah saya menetapkan panjang tersuai?

Ya. Medan panjang menerima sebarang nombor bulat daripada 8 hingga 128. Set aksara itu sendiri (A–Z, a–z, 0–9) kekal tetap.

Adakah alat ini menyimpan atau menghantar kunci yang dijananya?

Tidak. Setiap kunci dijana dengan JavaScript setempat dalam pelayar. Tiada apa-apa dihantar ke pelayan, direkodkan atau disimpan.

Apakah perbezaan antara kunci API dengan token OAuth?

Kunci API ialah bukti kelayakan yang sah untuk tempoh lama sehingga seseorang membatalkannya. Token OAuth tamat tempoh secara automatik selepas tempoh tertentu dan boleh diperbaharui tanpa penglibatan langsung pengguna. OAuth sesuai untuk perkhidmatan awam yang mengendalikan data peribadi; kunci API sesuai untuk kegunaan dalaman, pembangunan atau kegunaan yang lebih mudah.

Pelayar manakah yang disokong oleh alat ini?

Mana-mana pelayar yang menyediakan Web Crypto API, termasuk setiap versi Chrome, Firefox, Safari, Edge dan Opera yang dikeluarkan dalam sedekad yang lalu. Jika API itu tiada, alat ini memaparkan mesej ralat. Alat ini tidak pernah menggunakan Math.random() sebagai pilihan sandaran kerana kaedah itu tidak selamat.