Generator

Alat yang menghasilkan pengenal dan nilai uji sesuai permintaan. Seluruh proses berjalan di peramban Anda, jadi tidak ada yang pernah dikirim.

Memilih generator

Gunakan generator kata sandi untuk kredensial, generator UUID untuk identifier, dan generator angka acak untuk undian, dadu, serta nilai uji. Ketiganya mengambil nilai dari sumber acak kriptografis browser dengan rejection sampling, sehingga setiap hasil punya peluang yang sama.

Gunakan generator data tiruan untuk mengisi tabel atau file fixture, generator kode QR untuk mengubah tautan atau kredensial Wi-Fi menjadi sesuatu yang bisa dipindai, alat ekspresi cron untuk memeriksa kapan sebuah jadwal benar-benar berjalan, dan roda undian saat sekelompok orang perlu menyaksikan undiannya berlangsung.

Dari mana keacakannya berasal

Semua hal acak di sini diambil dari crypto.getRandomValues, generator browser yang aman secara kriptografis, lalu dipaskan ke rentang yang Anda minta dengan rejection sampling, bukan modulo, sehingga tidak ada nilai dalam rentang itu yang lebih mungkin muncul daripada yang lain. Untuk kata sandi itu adalah properti keamanan; untuk undian, itu sekadar keadilan.

Generator yang pertama kali dipakai kebanyakan kode, Math.random, adalah hal yang sama sekali berbeda: cepat, bisa ditebak hanya dari beberapa output, dan secara eksplisit dilarang untuk keperluan kriptografis oleh spesifikasi bahasanya. Alat yang memakainya untuk kata sandi tidak terlihat rusak, dan justru itulah masalahnya.

Data yang dihasilkan harus aman dipakai

Fixture hanya berguna jika menjalankan rangkaian tes tidak bisa menjangkau orang sungguhan, jadi generator data tiruan mengambil nomor telepon dari blok yang dicadangkan untuk keperluan fiktif, alamat email dan URL dari domain contoh RFC 2606, serta alamat IP dari rentang dokumentasi yang tidak dirutekan.

Itu juga menjadi alasan untuk menolak alternatif yang menggoda: menyalin data produksi lalu menghapus namanya. Menghapus identifier tidak membuat dataset menjadi anonim, dan salinan yang sudah dibersihkan tetaplah data produksi yang berada di tempat dengan kontrol akses lebih lemah. Menghasilkan data dari skema memberi Anda bentuk yang tepat tanpa asal-usul sama sekali.

Sebagian alat ini menghasilkan spesifikasi, bukan nilai

Ekspresi cron dan kode QR bukan output acak; keduanya adalah artefak yang nanti akan ditafsirkan sistem lain, dan pertanyaan yang berguna adalah apakah tafsiran itu sesuai dengan maksud Anda. Itulah sebabnya alat cron menampilkan daftar waktu eksekusi berikutnya, bukan sekadar mengurai field-nya, dan mengapa generator QR melaporkan versi serta level koreksi error yang dipilihnya.

Periksa keduanya terhadap kenyataan sebelum dipakai. Baca tanggal eksekusinya untuk kasus tanggal dan hari yang menjebak semua orang, dan pindai kode cetak dengan dua atau tiga ponsel berbeda sebelum memesan seribu lembar.