Enkoder dan Dekoder

Alat untuk mengenkode dan mendekode teks antar format. Seluruh proses berjalan di peramban Anda, jadi data Anda tidak pernah diunggah.

Memilih alat encoding

Gunakan Base64 untuk memindahkan byte melalui saluran teks dan URL encoding untuk menaruh sebuah nilai dengan aman di dalam alamat. Gunakan generator hash untuk checksum dan untuk tanda tangan HMAC, tempat secret bersama membuktikan siapa yang membuat pesan itu.

Gunakan decoder JWT untuk membaca claim sebuah token dan, dengan secret-nya, memeriksa tanda tangannya; generator JWT untuk membuat token uji; serta decoder CSR untuk melihat nama dan kunci apa yang sebenarnya diminta sebuah certificate request sebelum dikirim ke certificate authority.

Empat pekerjaan yang tampak mirip padahal berbeda

Encoding menulis ulang data ke alfabet yang lebih aman dan sepenuhnya bisa dibalik oleh siapa saja: Base64 dan percent-encoding termasuk di sini. Hashing bersifat satu arah dan tanpa kunci, sehingga membuktikan dua masukan sama tanpa mengungkap keduanya. Penandatanganan menambahkan secret, dan itulah yang membuat sebuah pesan menjadi bukti siapa pengirimnya. Sementara inspeksi hanya mendekode struktur yang memang sudah publik, seperti yang dilakukan pembaca JWT dan CSR.

Mencampuradukkan yang pertama dengan yang ketiga adalah kesalahan yang mahal. Payload Base64 terlihat teracak padahal tidak melindungi apa pun; siapa pun yang memilikinya bisa membacanya dalam sedetik, dan itu mudah dibuktikan dengan menempelkannya ke decoder di sini.

Kegagalan yang berulang adalah lapisan

Encoding tidak idempoten. Escape sebuah nilai dua kali, dan %20 menjadi %2520, tanda kutip menjadi tanda kutip dengan backslash ganda, dan payload yang seharusnya berisi objek malah berisi string JSON. Ini terjadi setiap kali kode aplikasi meng-encode sesuatu yang memang akan di-encode oleh framework.

Perbaikannya adalah menghapus salah satu dari dua langkah itu, bukan mendekode dua kali di sisi penerima, yang hanya memindahkan bug. Mendekode selapis demi selapis di alat-alat ini menunjukkan berapa lapisan yang sebenarnya ada, dan biasanya itulah cara tercepat menemukan komponen mana yang menambahkan lapisan tambahan.

Pikirkan apa yang Anda tempelkan

Semua proses di sini berjalan di browser Anda, jadi apa pun yang Anda tempel tidak diunggah atau dicatat. Ini perlu diketahui karena materi yang masuk ke alat-alat ini jarang bersifat netral: CSR memuat nama host internal dan nama organisasi, JWT memuat identifier pengguna dan scope, dan masukan sebuah hash bisa jadi secret itu sendiri.

Dua kebiasaan tetap layak dijaga. Verifikasi tanda tangan dengan secret uji alih-alih secret produksi bila memungkinkan, dan jangan pernah menempelkan kunci privat ke halaman web mana pun, termasuk halaman ini - CSR aman dibagikan, kunci yang menandatanganinya tidak.