PKCE Code Verifier & Challenge Generator
Memandu
PKCE Code Verifier & Challenge Generator
Buat nilai PKCE yang sesuai dengan RFC 7636 langsung di browser Anda. Pilih panjang verifier (43–128 karakter), dan alat ini menghasilkan angka acak secara kriptografi. code_verifier bersama dengan SHA-256 yang sesuai code_challenge dalam bentuk base64url, siap digunakan dalam permintaan otorisasi OAuth 2.0 atau OAuth 2.1. Berguna untuk aplikasi SPA, aplikasi mobile, CLI lokal, dan siapa saja yang sedang memperbaiki alur otorisasi dengan kode-PKCE terhadap penyedia seperti Auth0, Okta, Microsoft Entra, Google, GitHub, dan Keycloak.
Cara Penggunaan
- Tarik Panjang Verifier slider — nilai dari 43 hingga 128 bekerja; nilai yang lebih panjang memberikan entropi yang lebih tinggi.
- Pilih Metode Tantangan. Biarkan saja
S256kecuali penyedia Anda secara eksplisit membutuhkannyaplain. - Pilih sebuah Himpunan Karakter Verifier. Kedua opsi sesuai dengan RFC; alfabet base64url sesuai dengan yang dihasilkan oleh kebanyakan library klien OAuth.
- Klik Buat. Verifier, tantangan, dan metode muncul secara langsung, serta penjelasan langkah demi langkah dari transformasi SHA-256 → base64url.
- Salin
code_challenge+code_challenge_methodke dalam/authorizeredirect, simpancode_verifierdi dalamsessionStorage, dan ulang di/tokenuntuk menyelesaikan pertukaran.
Fitur
- Kecocokan kriptografi yang aman – menggunakan
crypto.getRandomValues()dengan penolakan sampling sehingga tidak ada bias modulo pada alfabet 66 karakter yang tidak terbatas. - SHA-256 Native — tantangan dihitung melalui browser’s
SubtleCrypto.digest('SHA-256'), sehingga nilai-nilai tersebut sesuai dengan yang dihasilkan oleh server otorisasi Anda. - Metode S256 dan plain — kedua nilai dari RFC 7636 didukung, dengan
code_challenge_methodyang dipilih secara default sesuai dengan OAuth 2.1.S256— lihat verifier murni, digest hex 32-byte SHA-256, dan tantangan akhir base64url agar Anda dapat memeriksa setiap transformasi. - Pembagian langkah demi langkah Dua pilihan alfabet
- — pilih himpunan lengkap dari set tidak terbatas RFC 7636 (A–Z, a–z, 0–9, ) atau alfabet yang lebih sempit base64url yang umum digunakan oleh library.
-,.,_,~Panjang slider, 43 hingga 128 - — tetap dalam spesifikasi tanpa mengatur angka ajaib. di setiap bidang keluaran sehingga Anda bisa menempelkan langsung ke Postman, curl, atau kode klien Anda.
- Salin sekali klik — tidak ada yang dikirim ke server. Verifier tidak pernah meninggalkan tab browser Anda.
- 100% sisi klien Apa itu PKCE dan mengapa OAuth membutuhkannya?
Tanya Jawab Umum
-
Proof Key for Code Exchange (PKCE, RFC 7636) adalah ekstensi OAuth 2.0 yang melindungi alur kode otorisasi dari intersepsi. Klien memilih rahasia
, menghasilkan
code_verifierdari itu, dan hanya mengirim tantangan dalam permintaan otorisasi. Saat klien kemudian mengganti kode otorisasi di endpoint token, ia mengirim verifier asli; server menghashnya dan membandingkannya dengan tantangan yang disimpan. Bahkan jika penyerang mengintersepsi kode otorisasi, mereka tidak dapat menukar kode tersebut tanpa verifier, yang tidak pernah meninggalkan klien yang sah. OAuth 2.1 membuat PKCE wajib untuk semua klien, baik publik maupun rahasia.code_challengeBerapa panjang yang seharusnya untuk code_verifier dan mengapa? -
RFC 7636 membutuhkan verifier antara 43 hingga 128 karakter dari himpunan tidak terbatas. Batas bawah ada karena 43 karakter base64url mengkodekan 32 byte acak (256 bit) — entropi minimum yang dianggap aman terhadap serangan brute force. Verifier yang lebih panjang memberikan entropi lebih banyak, tetapi tidak memberikan manfaat keamanan nyata di atas 256 bit. Sebagian besar implementasi referensi memilih 43, 64, atau 128. Pilih ujung yang lebih panjang jika Anda ingin perlindungan tambahan, tetapi sadari bahwa beberapa server lama menolak nilai lebih dari 128 karena mereka mengikat spesifikasi secara ketat.
Apa perbedaan antara metode tantangan S256 dan plain?
-
tantangan adalah hash SHA-256 dari verifier yang dienkripsi dalam bentuk base64url; dengan
Dengan
S256tantangan adalah verifier itu sendiri. Metodeplaintidak memberikan perlindungan nyata jika permintaan otorisasi diintersepsi — penyerang yang melihat tantangan sudah memiliki verifier. RFC 7636 hanya memungkinkanplainuntuk klien yang benar-benar tidak dapat menghitung SHA-256, dan OAuth 2.1 menolaknya secara total. Penyedia identitas produksi seperti Auth0, Okta, Google, dan Microsoft Entra menolakplainlangsung, jadi selalu gunakanplainkecuali Anda sedang memperbaiki klien terbatas yang terintegrasi.S256Apa itu base64url dan bagaimana perbedaannya dengan base64? -
Base64url adalah variasi URL yang aman dari base64 yang didefinisikan dalam RFC 4648 §5. Ia mengganti
sehingga string yang dienkripsi aman untuk dimasukkan ke parameter query, bagian JWT, atau komponen jalur tanpa perlu diescape lebih lanjut. Peningkatan
+dengan-dan/dengan_penyokong juga dihilangkan karena panjangnya diimplikasikan oleh konteks sekitarnya. PKCE, JWT, JWE, JWS, dan kebanyakan spesifikasi kriptografi web modern menggunakan base64url untuk alasan ini.=Klik Generate untuk membuat code_verifier
Instal Ekstensi Kami
Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat
恵 Papan Skor Telah Tiba!
Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!
Alat Wajib Coba
Lihat semua Pendatang baru
Lihat semuaMemperbarui: Kita alat terbaru ditambahkan pada 17 Juni 2026
