Generator Kunci API Acak - Kunci Aman 32 Karakter Gratis
Hasilkan kunci API yang aman secara kriptografis dengan instan. Alat online gratis membuat kunci alfanumerik acak 32 karakter untuk autentikasi. Pembuatan di sisi klien, tanpa penyimpanan.
Generator Kunci API
Dokumentasi
Generator kunci API acak adalah alat yang membuat rangkaian huruf dan angka acak untuk digunakan sebagai kode mirip kata sandi antara dua program komputer. Generator ini sepenuhnya berjalan di dalam browser web pengunjung. Pengguna dapat memilih panjang kunci dari 8 hingga 128 karakter, dengan 32 karakter sebagai nilai bawaan.
Apa Itu Kunci API?
Kunci API adalah rangkaian karakter yang dikirim program bersama suatu permintaan untuk membuktikan bahwa program tersebut diizinkan menggunakan suatu layanan. Server web memeriksa kunci itu sebelum menjawab permintaan. Berbeda dari nama pengguna dan kata sandi, kunci API biasanya mengidentifikasi aplikasi atau skrip, bukan seseorang.
Kunci bekerja paling baik jika tidak ada yang dapat menebaknya. Generator yang menggunakan keacakan sejati menghindari pola yang muncul pada kunci yang diketik oleh seseorang, seperti karakter berulang atau kata-kata pendek yang mudah diingat.
Cara Kerja Generator Ini
Alat ini membuat setiap kunci dari kumpulan tetap yang terdiri atas 62 karakter: 26 huruf kapital A–Z, 26 huruf kecil a–z, dan 10 digit 0–9. Untuk kunci dengan panjang n, alat ini memilih n karakter dari kumpulan tersebut, satu per satu.
Setiap karakter berasal dari Web Crypto API milik browser, khususnya crypto.getRandomValues(). Ini adalah generator bilangan acak yang aman secara kriptografis (CSPRNG), berbeda dari Math.random() milik JavaScript, yang dapat diprediksi dan tidak sesuai untuk nilai yang sensitif terhadap keamanan.
Untuk memilih karakter secara adil dari 62 pilihan berdasarkan satu byte acak (256 nilai yang mungkin), generator tidak dapat begitu saja menggunakan byte % 62. Karena 256 tidak habis dibagi oleh 62, operasi modulo biasa akan membuat beberapa karakter pertama dalam kumpulan sedikit lebih mungkin terpilih daripada karakter lainnya. Alat ini menghindarinya dengan pengambilan sampel berdasarkan penolakan: alat membuang setiap byte acak yang akan menyebabkan bias tersebut dan mengambil byte baru sebagai gantinya. Karena itu, setiap karakter dalam kunci akhir memiliki peluang yang sama dan tidak bias untuk muncul di setiap posisi.
Cara Membuat Kunci API
- Masukkan panjang kunci antara 8 dan 128 karakter, atau pertahankan nilai bawaan 32. Angka di luar rentang tersebut akan ditandai, lalu panjang terdekat yang diizinkan akan digunakan.
- Klik "Generate". Kunci akan muncul dalam kotak teks yang seluruhnya dibuat di browser. Mengeklik kotak tersebut akan memilih seluruh kunci.
- Klik "Copy" untuk menyalin kunci ke papan klip. Beberapa browser meminta izin saat pertama kali digunakan.
- Klik "Regenerate" untuk membuat kunci baru dengan panjang yang sama, atau "Reset" untuk menghapus kunci dan mengembalikan panjang bawaan 32.
Di bawah kunci, alat ini menampilkan tiga angka: panjang kunci dalam karakter, ukuran kumpulan karakter (selalu 62), dan entropi dalam bit.
Tidak ada kunci yang dikirim ke server, dicatat, atau disimpan. Pembuatan kunci berlangsung dengan kode JavaScript lokal, sehingga pemeriksaan aktivitas jaringan browser selama proses pembuatan tidak menunjukkan permintaan keluar.
Cara Menghitung Jumlah Kunci yang Mungkin
Jumlah kunci berbeda yang dapat dihasilkan untuk panjang tertentu mengikuti rumus sederhana:
N adalah jumlah kunci yang mungkin, c adalah ukuran kumpulan karakter, dan n adalah panjang kunci.
Ukuran kumpulan karakter untuk alat ini selalu 62. Untuk panjang bawaan 32:
N = 62³² ≈ 2,27 × 10⁵⁷
Jumlah ini juga dinyatakan sebagai entropi, yang diukur dalam bit, menggunakan rumus:
H adalah entropi dalam bit.
Untuk kunci sepanjang 32 karakter: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 bit.
Contoh Perhitungan: Waktu untuk Mencoba Setiap Kunci
Misalkan penyerang dapat menguji satu miliar (10⁹) kunci setiap detik, suatu laju yang tidak realistis bagi sistem nyata mana pun. Mencoba setiap kunci sepanjang 32 karakter yang mungkin akan memerlukan:
2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ detik ≈ 7,2 × 10⁴⁰ tahun
Sebagai perbandingan, usia alam semesta sekitar 1,4 × 10¹⁰ tahun. Pencarian secara brute force terhadap setiap kunci yang mungkin bukan ancaman praktis pada panjang ini. Kunci yang lebih pendek mengurangi jumlah tersebut dengan cepat: kunci sepanjang 8 karakter hanya memiliki 62⁸ ≈ 2,18 × 10¹⁴ nilai yang mungkin, yang dapat ditelusuri komputer cepat dalam hitungan hari.
Mengapa Aplikasi Menggunakan Kunci API
Kunci API memberi layanan cara sederhana untuk mengetahui aplikasi mana yang membuat permintaan. Hal ini penting karena beberapa alasan.
Autentikasi. Server dapat menolak permintaan yang datang tanpa kunci yang valid, sehingga sebagian besar penyalahgunaan biasa dapat diblokir.
Pelacakan penggunaan. Karena setiap klien dapat memiliki kunci yang berbeda, layanan dapat mengukur seberapa banyak setiap klien menggunakannya dan menerapkan batas laju yang terpisah untuk setiap kunci.
Pencabutan. Satu kunci yang telah disusupi dapat dinonaktifkan tanpa memengaruhi klien lain, karena setiap kunci berdiri sendiri.
Kunci API lebih sederhana untuk diterapkan daripada OAuth 2,0, standar autentikasi yang menggunakan token sementara yang diperbarui secara otomatis. OAuth sesuai untuk layanan yang terbuka bagi publik dan menangani data pribadi pengguna. Kunci API umum digunakan untuk alat internal, skrip, dan komunikasi antarlayanan, ketika kredensial berumur panjang dapat diterima.
Praktik Keamanan untuk Kunci API
Beberapa praktik dapat mengurangi risiko kunci bocor:
- Jangan simpan kunci dalam kode sumber. Riwayat kontrol versi sulit dihapus, dan repositori publik terus-menerus dipindai untuk mencari kredensial yang terekspos. Sebagai gantinya, simpan kunci dalam variabel lingkungan atau pengelola rahasia.
- Ganti kunci secara berkala. Mengganti kunci setiap beberapa bulan membatasi lamanya kunci yang bocor dapat digunakan oleh penyerang.
- Berikan akses minimum yang diperlukan kunci. Kunci yang hanya membaca data seharusnya tidak juga dapat menulis atau menghapusnya.
- Pantau aktivitas yang tidak biasa, seperti lonjakan permintaan yang tiba-tiba dari satu kunci.
Keterbatasan
Alat ini tidak menyimpan catatan kunci yang telah dibuatnya, sehingga tidak dapat menjamin bahwa suatu kunci belum pernah dibuat sebelumnya. Kemungkinan dua kunci acak sepanjang 32 karakter cocok adalah sekitar 1 dalam (2,5 cm) 2,27 × 10⁵⁷, yang cukup mendekati nol untuk penggunaan biasa, tetapi sistem yang memerlukan jaminan keunikan mutlak, seperti kunci utama basis data, sebaiknya memeriksa nilai baru terhadap nilai yang sudah ada di server.
Kumpulan karakter ditetapkan pada huruf kapital, huruf kecil, dan digit. Kumpulan ini tidak mencakup simbol seperti ! atau -, sehingga kunci aman ditempelkan ke sebagian besar URL, header, dan berkas konfigurasi tanpa perlu melakukan escape.
Pertanyaan yang sering diajukan
Apa itu generator kunci API?
Generator kunci API adalah alat yang menghasilkan rangkaian karakter acak untuk digunakan sebagai kredensial autentikasi antara aplikasi perangkat lunak. Generator ini membuat kunci sepanjang 8 hingga 128 karakter, yang dipilih dari 62 karakter yang mungkin menggunakan generator bilangan acak yang aman secara kriptografis milik browser.
Apakah kunci dari alat ini cukup aman untuk penggunaan produksi?
Keacakannya sendiri aman secara kriptografis. Keamanan secara keseluruhan juga bergantung pada cara kunci disimpan dan dikirim setelah itu: jangan pernah memasukkannya ke sistem pengendalian versi, selalu kirim melalui HTTPS, dan lakukan rotasi kunci secara berkala.
Panjang berapa yang sebaiknya dipilih?
Nilai bawaan 32 karakter memberikan sekitar 2,27 × 10⁵⁷ kombinasi yang mungkin, jauh lebih banyak daripada yang dapat dicari oleh upaya brute force realistis mana pun. Kunci yang lebih pendek, seperti 16 karakter, mungkin sesuai untuk alat internal berisiko rendah. Kunci yang sangat panjang hanya memberikan sedikit perlindungan tambahan, tetapi lebih sulit disimpan dan ditempelkan.
Apakah saya dapat menetapkan panjang khusus?
Ya. Kolom panjang menerima bilangan bulat apa pun dari 8 hingga 128. Kumpulan karakternya sendiri (A–Z, a–z, 0–9) tetap.
Apakah alat ini menyimpan atau mengirimkan kunci yang dibuatnya?
Tidak. Setiap kunci dibuat dengan JavaScript lokal di browser. Tidak ada yang dikirim ke server, dicatat, atau disimpan.
Apa perbedaan antara kunci API dan token OAuth?
Kunci API adalah kredensial berumur panjang yang tetap valid sampai seseorang mencabutnya. Token OAuth kedaluwarsa secara otomatis setelah waktu tertentu dan dapat diperbarui tanpa keterlibatan langsung pengguna. OAuth sesuai untuk layanan publik yang menangani data pribadi; kunci API sesuai untuk penggunaan yang lebih sederhana, internal, atau pengembangan.
Browser apa saja yang didukung alat ini?
Browser apa pun yang menyediakan Web Crypto API, yang mencakup setiap versi Chrome, Firefox, Safari, Edge, dan Opera yang dirilis dalam satu dekade terakhir. Jika API tersebut tidak tersedia, alat ini menampilkan pesan kesalahan. Alat ini tidak pernah menggunakan Math.random() sebagai cadangan karena fungsi tersebut tidak aman.