UTILS.
100% di peramban
🧂

Generator & Verifikator Hash KDF scrypt

Turunkan kunci scrypt dari kata sandi dengan cost N, r, p yang dapat dikonfigurasi, atau verifikasi kata sandi terhadap string scrypt tersimpan. Berjalan sepenuhnya di browser Anda.

Kata sandi di-hash 100% di browser Anda — tidak ada yang diunggah.

— keluaran muncul di sini —

Tentang alat ini

Generator & Verifikator Hash KDF scrypt menurunkan dan memeriksa keluaran scrypt secara lokal di browser Anda. scrypt, dirancang oleh Colin Percival dan distandarisasi dalam RFC 7914, adalah fungsi penurunan kunci yang memory-hard: biayanya sengaja didominasi oleh bandwidth memori sehingga perangkat keras peretas kustom hanya memperoleh sedikit keuntungan. Pipelinennya adalah PBKDF2-HMAC-SHA256 untuk memperluas kata sandi, fungsi ROMix yang dibangun di atas BlockMix dan inti Salsa20/8 untuk memaksa penggunaan memori sekuensial besar, dan PBKDF2-HMAC-SHA256 final untuk menghasilkan kunci turunan dengan panjang pilihan Anda.

Mode generate membaca 16 byte salt acak dari crypto.getRandomValues dan menjalankan scrypt dengan tiga parameter cost: N adalah cost CPU/memori dan harus berupa pangkat dua (default 16384 = 2^14), r adalah ukuran blok (default 8), dan p adalah faktor paralelisasi (default 1). Penggunaan memori kira-kira 128 · N · r byte — sekitar 16 MiB pada default — dan alat ini memperingatkan ketika pengaturan Anda akan melebihi 256 MiB. Keluarannya adalah string yang mendeskripsikan dirinya sendiri $scrypt$ln=14,r=8,p=1$<salt base64>$<kunci base64> di mana ln = log2(N), jadi setiap parameter yang diperlukan untuk verifikasi dibawa bersama hash.

Mode verify mengurai ln, r, p, salt, dan kunci tersimpan dari string tersebut, menghitung ulang kunci turunan dengan kata sandi kandidat, dan melakukan perbandingan waktu-konstan untuk melaporkan cocok atau tidak cocok. Inti scrypt berjalan sebagai build WebAssembly bebas-eval di bawah kebijakan keamanan ketat browser, jadi kata sandi diproses 100% di browser Anda dan tidak ada yang diunggah.

Pertanyaan yang sering diajukan

Mengapa N harus berupa pangkat dua?
Langkah ROMix scrypt mengindeks tabel yang berisi tepat N blok dan bergantung pada N berupa pangkat dua untuk pengalamatan integerify-and-mask-nya. Alat ini menolak nilai bukan-pangkat-dua. Pilihan umum adalah 16384 (2^14) untuk penggunaan interaktif dan 1048576 (2^20) untuk enkripsi file.
Berapa banyak memori yang digunakan scrypt?
Kira-kira 128 · N · r byte. Pada default N=16384, r=8 itu sekitar 16 MiB. Karena browser mengalokasikannya secara nyata, nilai N atau r yang besar bisa lambat atau gagal di perangkat ber-RAM rendah — alat ini memperingatkan di atas 256 MiB.
Apa yang dikendalikan r dan p?
r adalah ukuran blok, yang menskalakan baik penggunaan memori maupun jumlah kerja sekuensial per blok; menaikkan r menaikkan cost memori bersama N. p adalah faktor paralelisasi, menjalankan p komputasi scrypt independen, yang menaikkan cost CPU tanpa menaikkan jejak memori per-instansi.
Format apa hash yang dihasilkan?
String yang mendeskripsikan dirinya sendiri $scrypt$ln=<log2 N>,r=<r>,p=<p>$<salt base64>$<kunci base64>. Ia menyematkan setiap parameter, jadi mode verify hanya memerlukan string itu dan kata sandi. Semua komputasi bersifat lokal — tidak ada yang diunggah.

Alat lainnya