Generator Kode TOTP dan HOTP
Buat kode 2FA TOTP dan HOTP dari secret Base32 atau URI otpauth://, dengan SHA-1, SHA-256, atau SHA-512, hitung mundur langsung, dan kode QR.
Secret 2FA sama sensitifnya dengan kata sandi. Semua di sini berjalan secara lokal di browser Anda: secret, kode, dan kode QR tidak pernah dikirim ke mana pun.
- Kode sebelumnya
- —
- Kode saat ini
- —
- Kode berikutnya
- —
Kode TOTP bergantung pada jam perangkat Anda. Jika kode tidak cocok, pastikan jam diatur secara otomatis.
Siapkan aplikasi authenticator
Tambahkan penerbit dan nama akun, lalu pindai kode QR atau salin tautan otpauth:// ke aplikasi authenticator Anda.
Cara membuat kode TOTP
- Tempel secret Base32 (misalnya
JBSWY3DPEHPK3PXP) atau tautanotpauth://lengkap ke Secret (Base32) atau URI otpauth://. Spasi, tanda hubung, huruf kecil, dan padding=yang hilang semuanya diterima. - Kode muncul saat Anda mengetik, atau saat Anda mengklik Tampilkan kode. URI yang ditempel otomatis mengisi kolom Jenis, Algoritme, Digit, Periode (detik), Penerbit, dan Akun.
- Baca Kode saat ini di tengah, dengan Kode sebelumnya dan Kode berikutnya di kedua sisinya. Bilah di bawahnya menghitung mundur detik sebelum kode berganti, dan Salin kode menyalinnya tanpa spasi.
- Untuk kode berbasis penghitung, pilih HOTP (berbasis penghitung), atur Penghitung, lalu gunakan Penghitung berikutnya untuk maju.
- Untuk membuat secret 2FA baru, klik Secret acak baru. Isi Penerbit dan Akun, lalu pindai kode QR dengan aplikasi authenticator, klik Salin URI, atau Unduh kode QR (PNG).
Cara kerja TOTP dan HOTP
HOTP (RFC 4226) menghitung HMAC dari penghitung 8 byte dengan secret bersama, lalu menerapkan dynamic truncation: empat bit terakhir HMAC memilih sebuah offset, empat byte dibaca dari posisi itu, bit teratas dikosongkan, dan bilangannya direduksi modulo 10^digit. Hasilnya adalah kode 6 hingga 8 digit.
TOTP (RFC 6238) adalah HOTP yang penghitungnya berupa langkah waktu saat ini: T = floor(waktu Unix / periode), dengan periode bawaan 30 detik. Ponsel Anda dan server menghitung kode yang sama secara terpisah, karena keduanya berbagi secret dan (kurang lebih) jam yang sama. Itulah sebabnya Kode sebelumnya dan Kode berikutnya ditampilkan: server biasanya menerima satu langkah sebelum atau sesudahnya untuk menoleransi selisih jam.
HMAC dijalankan dengan Web Crypto API milik browser Anda memakai SHA-1, SHA-256, atau SHA-512. SHA-1 dengan 6 digit dan 30 detik adalah yang dipakai hampir semua layanan; SHA-256 dan SHA-512 diizinkan oleh RFC 6238, tetapi sebagian aplikasi mengabaikannya, jadi ubah pengaturan bawaan hanya jika layanan memintanya.
URI otpauth:// dan kode QR
Aplikasi authenticator disiapkan dengan URI seperti otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, yang biasanya ditampilkan sebagai kode QR. Alat ini membaca URI semacam itu (termasuk label berenkode persen seperti ACME%20Co) dan membuat URI baru. Kode QR digambar secara lokal dari URI yang ditampilkan di bawah URI otpauth://.
Secret acak baru berukuran 20 byte (160 bit), panjang yang disarankan RFC 4226, dan diambil dari crypto.getRandomValues.
Tips keamanan
- Secret adalah faktor kedua itu sendiri: siapa pun yang memilikinya bisa menghasilkan kode Anda. Jangan menempelkan secret akun penting di komputer bersama, dan jangan pernah membagikan tangkapan layar kode QR.
- Semua dihitung secara lokal; tidak ada yang dikirim lewat jaringan. Tutup tab setelah selesai.
- Simpan kode cadangan dari layanan: secret yang hilang tidak bisa dipulihkan.
Pertanyaan yang sering diajukan
Mengapa kode saya tidak cocok dengan yang ada di aplikasi?
Periksa jam perangkat Anda terlebih dahulu: kode TOTP berganti setiap periode, sehingga jam yang meleset lebih dari sekitar 30 detik menghasilkan kode yang berbeda. Kemudian pastikan algoritme, jumlah digit, dan periode sesuai dengan yang dipakai layanan.
Apakah alat ini kompatibel dengan Google Authenticator dan aplikasi serupa?
Ya. Alat ini mengikuti RFC 6238 dan format URI otpauth yang dipakai aplikasi tersebut. Pindai kode QR atau ketik secret Base32 di aplikasi, dan keduanya seharusnya menampilkan Kode saat ini yang sama.
Apa bedanya TOTP dan HOTP?
TOTP bergerak maju seiring waktu, sehingga kode kedaluwarsa setelah periodenya habis. HOTP bergerak maju dengan penghitung yang bertambah setiap kali kode dipakai, sehingga kode tetap berlaku sampai dipakai atau diganti.
Bisakah saya memakai alat ini sebagai authenticator sehari-hari?
Alat ini ditujukan untuk pengujian, pengembangan, dan pemulihan. Aplikasi ponsel atau kunci hardware lebih aman untuk pemakaian harian, karena secret tidak perlu ditempelkan ke halaman web setiap kali.
Apakah perhitungannya sudah diperiksa terhadap standar?
Ya. Alat ini diuji dengan nilai HOTP dari RFC 4226 Lampiran D dan nilai TOTP dari RFC 6238 Lampiran B untuk SHA-1, SHA-256, dan SHA-512.
Alat terkait
- Generator HMAC Hitung HMAC-SHA1, SHA-256, SHA-384, atau SHA-512 dengan kunci teks, hex, atau Base64, dapatkan hasil hex dan Base64, dan cek signature webhook di browser Anda.
- Pembuat Kata Sandi Pembuat kata sandi gratis untuk password acak yang kuat sepanjang 4 sampai 128 karakter, dibuat di browser dengan RNG aman. Tidak disimpan atau dikirim.
- Pembuat Kode QR Buat kode QR gratis untuk tautan, teks, Wi-Fi, kontak, email, dan SMS. Tambahkan warna dan logo, lalu unduh PNG atau SVG. Data tetap di perangkat Anda.
- Shamir Secret Sharing Bagi kata sandi atau frasa pemulihan menjadi N bagian sehingga M bagian mana pun dapat menyusunnya ulang, dengan Shamir secret sharing di browser Anda.