Lompat ke konten
Aback Tools Logo

Encoder/Decoder Token Fernet

Enkripsi pesan menjadi token Fernet (AES-128-CBC + HMAC-SHA256) atau dekode dan verifikasi token Fernet dengan validasi timestamp dan HMAC. Kompatibel dengan pustaka cryptography Python. Semua pemrosesan bersifat lokal dan privat di browser Anda.

Fernet Token Encoder/Decoder
Encrypt messages into Fernet token format (AES-128-CBC + HMAC-SHA256) compatible with Python's cryptography library. Decode and verify Fernet tokens with timestamp and HMAC validation. All processing is local in your browser.

The key is derived from your password using PBKDF2 + HKDF (480,000 iterations)

Enter a password and message, then click Encrypt to Fernet Token

Mengapa menggunakan encoder/decoder token Fernet kami?

  • Kompatibel dengan pustaka cryptography Python: token Fernet yang dibuat encoder kami bisa didekripsi oleh pustaka cryptography.fernet Python, dan sebaliknya. Kompatibilitas penuh dengan spesifikasi Fernet standar (AES-128-CBC + HMAC-SHA256).
  • Verifikasi tanda tangan HMAC: setiap token Fernet menyertakan tanda tangan HMAC-SHA256 yang diverifikasi saat dekripsi. Jika token telah dimanipulasi atau sandi yang dipakai salah, pemeriksaan HMAC langsung gagal.
  • Validasi timestamp dan usia token: setiap token Fernet memuat timestamp Unix tertanam yang menunjukkan persis kapan dibuat. Saat dekripsi, encoder Fernet menampilkan usia token dan waktu pembuatannya untuk audit dan pemeriksaan kedaluwarsa.
  • Derivasi kunci PBKDF2 yang aman: sandi Anda diubah menjadi kunci 32 byte yang kompatibel dengan Fernet memakai PBKDF2 dengan 480.000 iterasi dan perluasan HKDF. Format output gabungan kunci dan token memudahkan berbagi — cukup tempel seluruh string.

Penggunaan umum encoder/decoder token Fernet

  • Pertukaran pesan aman: gunakan encoder token Fernet untuk mengenkripsi pesan sebelum dikirim lewat email, chat, atau media sosial. Penerima bisa mendekripsi token Fernet dengan sandi yang sama. Tidak perlu layanan pihak ketiga.
  • Integrasi untuk pengembang Python: pengembang Python bisa memakai encoder Fernet online ini untuk cepat membuat token guna pengujian atau debug. Outputnya sepenuhnya kompatibel dengan modul cryptography.fernet Python — tak perlu menulis skrip uji.
  • Pembuatan token API: buat token Fernet untuk autentikasi API atau pengelolaan sesi. Timestamp tertanam memungkinkan server memverifikasi kebaruan token, sementara HMAC memastikan token tidak dimanipulasi.
  • Penyimpanan rahasia konfigurasi: enkripsi nilai konfigurasi sensitif — kunci API, sandi basis data, atau kredensial layanan — menjadi token Fernet. Simpan token di berkas konfigurasi dan dekripsi saat runtime memakai sandi utama.
  • Portabilitas data lintas platform: token Fernet tidak bergantung platform. Enkripsi data di browser dengan encoder Fernet kami, lalu dekripsi di Python, Go, Rust, atau bahasa apa pun yang punya pustaka kompatibel Fernet.
  • Enkripsi cookie dan sesi: enkripsi data sesi web atau cookie menjadi token Fernet. Tanda tangan HMAC mencegah manipulasi, sementara timestamp memungkinkan kedaluwarsa sesi. Semua pemrosesan bersifat lokal di browser untuk pengujian dan prototipe.

Apa itu token Fernet?

Token Fernet adalah format enkripsi simetris yang didefinisikan oleh pustaka cryptography Python. Format ini menggabungkan enkripsi AES-128-CBC dengan autentikasi HMAC-SHA256. Setiap token Fernet berisi byte versi, timestamp Unix, vektor inisialisasi (IV) acak, teks terenkripsi, dan tanda tangan HMAC — semuanya dikemas dalam string berenkode Base64. Format token menjamin kerahasiaan sekaligus integritas: teks terenkripsi tidak bisa dibaca tanpa kunci, dan HMAC mencegah manipulasi yang tak terdeteksi. Perlindungan ganda ini membuat token Fernet cocok untuk pertukaran pesan aman, pengelolaan sesi, dan enkripsi konfigurasi.

Cara kerja encoder/decoder token Fernet kami

  1. Derivasi kunci: sandi Anda diubah menjadi kunci Fernet 32 byte memakai PBKDF2 dengan 480.000 iterasi SHA-256, lalu diperluas dengan HKDF. 16 byte pertama menjadi kunci penandatanganan HMAC dan 16 byte terakhir menjadi kunci enkripsi AES.
  2. Enkripsi (encoding): IV acak 16 byte dibuat. Teks asli diberi padding PKCS7, dienkripsi dengan AES-128-CBC, lalu disusun ke format token: byte versi (0x80) + timestamp 8 byte + IV + teks terenkripsi + HMAC. Seluruh token biner dienkode Base64.
  3. Dekripsi (decoding): token didekode dari Base64, diurai menjadi komponennya, HMAC diverifikasi terhadap kunci penandatanganan, dan jika valid, teks terenkripsi didekripsi dengan AES-128-CBC lalu paddingnya dilepas.

Struktur token Fernet

  • Versi (1 byte): selalu 0x80 (128), menandai ini sebagai token Fernet versi 2. Versi mendatang mungkin memakai nilai berbeda.
  • Timestamp (8 byte): timestamp Unix big-endian yang menunjukkan kapan token dibuat. Berguna untuk pemeriksaan kedaluwarsa dan audit.
  • IV (16 byte): vektor inisialisasi acak untuk AES-128-CBC. IV berbeda dibuat pada setiap enkripsi, sehingga teks asli yang sama menghasilkan token berbeda.
  • Teks terenkripsi (variabel): teks asli berpadding PKCS7 yang dienkripsi dengan AES-128-CBC memakai kunci enkripsi 16 byte hasil derivasi dari sandi Anda.
  • HMAC (32 byte): HMAC SHA-256 atas versi, timestamp, IV, dan teks terenkripsi, dihitung memakai kunci penandatanganan 16 byte. Ini mencegah manipulasi yang tak terdeteksi.

Privasi, keamanan, dan catatan penggunaan

Encoder/decoder token Fernet memproses semua data sepenuhnya di browser Anda memakai Web Crypto API. Tidak ada data yang pernah diunggah ke server mana pun, disimpan di basis data, atau dibagikan ke pihak ketiga. Operasi kriptografi — derivasi kunci PBKDF2, enkripsi/dekripsi AES-128-CBC, serta penandatanganan/verifikasi HMAC-SHA256 — semuanya memakai primitif kriptografi bawaan browser untuk keamanan maksimal. Simpan sandi Anda dengan aman: tidak ada mekanisme pemulihan sandi. Format output gabungan kunci dan token memungkinkan Anda membagikan materi kunci sekaligus token dalam satu string.

Pertanyaan yang Sering Diajukan

Token Fernet adalah format enkripsi simetris yang didefinisikan oleh pustaka cryptography Python, menggabungkan enkripsi AES-128-CBC dengan autentikasi HMAC-SHA256. Setiap token berisi byte versi, timestamp Unix, IV acak, teks terenkripsi, dan tanda tangan HMAC — semuanya dikemas dalam string berenkode Base64 yang aman dikirim atau disimpan.

Ya. Encoder/decoder token Fernet kami sepenuhnya kompatibel dengan modul cryptography.fernet Python. Token yang dibuat di browser bisa didekripsi di Python, dan token yang dibuat modul Fernet Python bisa didekripsi di sini, selama kunci/sandi yang dipakai sama. Namun catat bahwa alat kami memakai PBKDF2 + HKDF untuk menurunkan kunci dari sandi, sedangkan Fernet Python biasanya memakai kunci mentah 32 byte.

Sandi Anda diubah menjadi kunci Fernet 32 byte memakai PBKDF2 dengan 480.000 iterasi SHA-256, lalu diperluas dengan HKDF. 16 byte pertama menjadi kunci penandatanganan HMAC dan 16 byte terakhir menjadi kunci enkripsi AES. Untuk kemudahan, format output gabungan kami menaruh salt PBKDF2 di depan kunci sehingga hasilnya mandiri untuk didekripsi.

Format gabungan adalah fitur praktis yang menaruh materi kunci berenkode salt di depan token Fernet, dipisahkan titik. Anda bisa menempel seluruh string untuk didekripsi nanti — decoder akan mengekstrak salt, membuat ulang kunci dari sandi Anda, dan mendekripsi token. Sebagai alternatif, Anda bisa memotong di titik dan memakai bagian kedua sebagai token Fernet mandiri.

Ya, sepenuhnya. Semua operasi kriptografi — derivasi kunci PBKDF2, enkripsi/dekripsi AES-128-CBC, serta penandatanganan/verifikasi HMAC-SHA256 — memakai Web Crypto API dan berjalan sepenuhnya di browser Anda. Sandi dan teks asli Anda tidak pernah meninggalkan perangkat. Tidak ada data yang diunggah, disimpan, atau dibagikan ke server mana pun.

Verifikasi tanda tangan HMAC-SHA256 akan gagal dan decoder akan melaporkan kesalahan. HMAC dihitung atas byte versi, timestamp, IV, dan teks terenkripsi, jadi perubahan apa pun pada bagian mana pun token akan membuat pemeriksaan HMAC gagal. Ini mencegah manipulasi yang tak terdeteksi dan menjaga integritas data terenkripsi Anda.

Tidak. Sandi diperlukan untuk enkripsi maupun dekripsi. Spesifikasi Fernet mewajibkan kunci 32 byte, dan alat kami menurunkan kunci itu dari sandi Anda memakai PBKDF2. Sandi adalah satu-satunya cara mengenkripsi atau mendekripsi token — tidak ada mekanisme pemulihan sandi, jadi simpan sandi Anda dengan aman.

Token Fernet memiliki overhead tetap 57 byte (versi 1 + timestamp 8 + IV 16 + HMAC 32) sebelum teks terenkripsi. Teks asli Anda ditambah padding hingga kelipatan 16 byte terdekat lalu dienkripsi. Pesan 10 byte menghasilkan sekitar 92 byte token berenkode Base64. Tidak ada batas ukuran praktis karena semua pemrosesan bersifat lokal.

Ya, 100 % gratis. Tanpa pendaftaran, tanpa paket premium, dan tanpa batas penggunaan. Alat ini berjalan sepenuhnya di browser Anda memakai Web Crypto API dan akan selalu gratis di Aback Tools.