Alat Gratisan

Sandi acak

Panjang dan jumlah

Panjang adalah satu-satunya hal yang paling menentukan. Menambah satu karakter menaikkan jumlah kemungkinan berkali-kali lipat, sementara menambah satu jenis karakter cuma menaikkannya sekali. Beberapa dibuat sekaligus supaya kamu tidak merasa harus memakai yang pertama muncul.

Karakter yang dipakai

Tiap jenis yang dicentang dijamin muncul minimal sekali, supaya sandinya tidak ditolak layanan yang mewajibkan angka atau simbol. Karakter mirip cuma perlu dihindari kalau sandinya akan diketik ulang orang lain — dibacakan lewat telepon atau ditulis di kertas. Kalau disimpan di password manager, biarkan saja tidak dicentang: pilihan karakternya jadi lebih banyak.

Sandi di halaman ini dibuat di dalam browser kamu sendiri, memakaicrypto.getRandomValues — pengacak khusus keamanan yang disediakan browser, bukan Math.random. Tidak ada sandi yang dikirim ke mana pun dan tidak ada yang disimpan: yang tersimpan di HP kamu cuma pengaturannya (panjang, jumlah, jenis karakter), supaya besok tidak perlu diatur ulang. Menutup halaman ini membuat sandinya hilang, jadi simpan dulu yang kamu pakai di password manager sebelum pindah halaman.

Buat beberapa sandi acak sekaligus dengan panjang dan jenis karakter yang kamu tentukan. Dibuat memakai crypto.getRandomValues, pengacak khusus keamanan yang sudah ada di HP atau komputermu, bukan pengacak biasa yang bisa ditebak dari keluaran sebelumnya. Halaman ini menampilkan perkiraan kekuatannya dalam bit, dan tidak mengirim atau menyimpan satu pun sandi.

Buat sandi atau kunci acak, beberapa sekaligus, dengan panjang dan jenis karakter yang kamu tentukan. Semuanya dibuat di HP atau komputer yang kamu pakai, dan tidak ada satu pun yang dikirim keluar.

Yang membuat sandi acak benar-benar acak

Angka acak di komputer tidak lahir dari ketiadaan. Pengacak biasa menghitung angka berikutnya dari angka sebelumnya, dan pola itu bisa ditebak orang yang melihat cukup banyak keluarannya. Cukup untuk animasi, tidak cukup untuk sesuatu yang menjaga akunmu.

Karena itu halaman ini cuma memakai crypto.getRandomValues, pengacak yang memang disediakan khusus untuk keperluan keamanan di HP dan komputer sekarang. Kalau di perangkatmu pengacak itu tidak ada, halaman ini berhenti dan mengatakannya, bukan menggantinya dengan pengacak biasa. Sandi yang lemah tapi kelihatan sama meyakinkannya adalah kegagalan yang paling merugikan di alat semacam ini.

Satu hal lagi tidak kelihatan dari luar. Memetakan angka acak ke daftar karakter dengan sisa bagi membuat karakter-karakter awal daftar keluar sedikit lebih sering, karena jumlah kemungkinan angka tidak habis dibagi jumlah karakter. Selisihnya kecil, tapi ia berlaku di setiap sandi yang pernah dibuat alat ini, jadi angka yang jatuh di ekor yang tidak genap dibuang dan diambil ulang.

Panjang mengalahkan kerumitan

Menambah satu karakter mengalikan jumlah kemungkinan sebanyak ukuran alfabetnya. Menambah satu jenis karakter cuma memperbesar alfabetnya sekali. Itu sebabnya Passw0rd! (yang memenuhi semua syarat huruf besar, angka, dan simbol) jauh lebih mudah ditebak daripada dua belas huruf kecil yang benar-benar acak.

Panduan Amerika NIST SP 800-63B (2017) bahkan menyarankan agar layanan berhenti mewajibkan campuran jenis karakter dan berhenti memaksa ganti sandi berkala, dan lebih mengutamakan panjang. Itu panduan untuk penyedia layanan di sana, bukan aturan yang berlaku di Indonesia, dan sebaiknya kamu cek langsung ke dokumennya kalau ini dipakai untuk kebijakan kantor. Kenyataannya banyak layanan masih mewajibkan campuran itu. Karena itu tiap jenis yang kamu centang di sini dijamin muncul minimal sekali.

Sandi di layar bukan sandi yang tersimpan

Sandi yang tampil di halaman ini tidak ke mana-mana sampai kamu menyalinnya, dan hilang begitu halamannya ditutup. Itu berarti langkah berikutnya ada di tanganmu, dan langkah itu bukan menghafalnya:

  • Password manager adalah tempat yang benar, termasuk yang sudah ikut di HP kamu sendiri. Sandi acak sepanjang apa pun tidak menambah repot kalau tidak pernah diketik manual.
  • Bukan catatan HP, bukan chat ke diri sendiri, bukan file Excel di komputer bersama, bukan kertas yang ditempel di monitor.
  • Satu akun satu sandi. Sandi terkuat sekalipun tidak menolong kalau dipakai di sepuluh tempat dan salah satunya bocor.

Yang alat ini tidak lakukan

Halaman ini tidak membuat frasa sandi dari kata-kata (passphrase), tidak memeriksa apakah sebuah sandi pernah bocor, dan tidak menilai kekuatan sandi yang sudah kamu punya. Mengetik sandi lama ke halaman mana pun, termasuk halaman ini, bukan kebiasaan yang pantas didorong.

Angka bit yang ditampilkan adalah perkiraan batas atas. Karena tiap jenis yang dicentang dijamin muncul, sebagian kombinasi jadi tidak mungkin keluar, sehingga kekuatan sebenarnya sedikit di bawah angka itu. Selisihnya kecil untuk sandi belasan karakter, tapi arahnya perlu kamu tahu.

Pertanyaan umum

Sandi yang muncul di halaman web aman dipakai?
Aman selama tiga hal ini benar. Pertama, sandinya disusun di HP atau komputer yang kamu pakai. Tidak ada yang dikirim ke mana pun, jadi tidak ada siapa pun di luar sana yang pernah melihatnya. Kedua, sandinya tidak ikut disimpan. Yang tersimpan di perangkatmu cuma pengaturannya (panjang, jumlah, jenis karakter yang dicentang), karena apa pun yang disimpan masih bisa terbaca lagi belakangan, dan sandi tidak pantas menunggu di situ. Ketiga, dan ini bagianmu. Begitu halamannya ditutup, sandi yang tampil hilang, jadi tempel dulu ke password manager, bukan ke catatan HP, chat ke diri sendiri, atau file Excel di komputer bersama.
Apa bedanya dengan tombol acak biasa yang ada di mana-mana?
Bedanya di sumber angkanya. Pengacak biasa (Math.random) dirancang untuk hal seperti animasi dan permainan. Cepat, tapi cara kerjanya bisa ditebak orang yang melihat beberapa keluarannya, sehingga keluaran berikutnya bisa dihitung. Halaman ini cuma memakai crypto.getRandomValues, pengacak yang memang disediakan khusus untuk keperluan keamanan di HP dan komputer sekarang. Kalau di perangkatmu pengacak itu tidak ada, halaman ini menolak membuat sandi, bukan diam-diam turun ke yang lebih lemah, karena sandi lemah yang kelihatan meyakinkan justru lebih berbahaya.
Panjangnya sebaiknya berapa?
Kalau sandinya disimpan di password manager dan tidak pernah kamu ketik manual, ambil saja yang panjang. Dua puluh karakter ke atas tidak menambah repot sama sekali. Kalau sandinya harus sering diketik di ponsel atau di layar TV, 16 karakter sudah jauh lebih baik daripada kebanyakan sandi yang dipakai orang. Yang tidak berguna adalah memendekkan sandi supaya mudah diingat lalu menambah satu simbol di ujung. Menambah panjang menaikkan kesulitan jauh lebih cepat daripada menambah jenis karakter.
Angka bit di halaman ini artinya apa?
Bit itu ukuran berlipat, bukan nilai rapor. Tiap tambahan 1 bit berarti kemungkinan yang harus ditebak jadi dua kali lipat, jadi sandi 60 bit bukan tiga kali lebih sulit dari PIN 6 angka (sekitar 20 bit), tapi sekitar 2^40 kali lebih sulit. Label lemah/sedang/kuat di halaman ini patokan kami sendiri, bukan standar resmi siapa pun. Tidak ada angka bit yang otomatis berarti aman, karena yang menentukan adalah seberapa cepat penyerang bisa mencoba, dan itu berbeda antara akun yang mengunci diri setelah lima kesalahan dan daftar sandi yang sudah telanjur bocor.
Kenapa ada pilihan menghindari karakter yang mirip?
Karena I besar, l kecil, angka 1, huruf O dan angka 0 sering tertukar waktu sandinya dibaca dari layar lalu diketik ulang di perangkat lain: sandi wifi yang ditempel di dinding kafe, kata sandi awal yang diserahkan ke karyawan baru, kunci yang dibacakan lewat telepon. Untuk kasus itu centang saja. Untuk sandi yang cuma disalin-tempel dari password manager, jangan dicentang, karena pilihan karakternya jadi lebih sedikit dan sandinya sedikit lebih mudah ditebak.
Layanan saya menolak sandinya, katanya harus ada angka dan simbol.
Tiap jenis yang kamu centang di sini dijamin muncul minimal sekali, jadi sandi dengan keempat jenis dicentang seharusnya lolos aturan seperti itu. Kalau masih ditolak, biasanya penyebabnya salah satu dari dua hal: ada batas panjang maksimal yang tidak disebutkan di formulirnya, atau simbol tertentu tidak diterima. Kecilkan panjangnya, atau matikan centang simbol dan naikkan panjangnya sebagai gantinya. Sandi 24 karakter huruf-angka lebih kuat daripada 12 karakter bersimbol.