UTILS.
%100 tarayıcıda
🛡️

Argon2 Parola Hash Oluşturucu ve Doğrulayıcı

Yapılandırılabilir bellek, yineleme ve paralellikle bir Argon2id/i/d parola hash'i hesaplayın veya bir parolayı PHC kodlu bir hash'e karşı doğrulayın. İstemci tarafında.

Parolalar %100 tarayıcınızda hash'lenir — hiçbir şey yüklenmez.

— çıktı burada görünür —

Bu araç hakkında

Argon2 Parola Hash Oluşturucu ve Doğrulayıcı, Argon2 hash'lerini tamamen tarayıcınızda hesaplar ve kontrol eder. Argon2, 2015 Password Hashing Competition'ı kazandı ve RFC 9106'da standartlaştırıldı; bcrypt'in aksine bellek zorludur, yani maliyeti RAM kullanımına hâkimdir ve bu, GPU ve ASIC kırma düzeneklerini engeller. Oluşturma modu, crypto.getRandomValues'dan 16 rastgele salt baytı çeker ve seçilen varyantı parametrelerinizle çalıştırır: t yineleme (zaman maliyeti), KiB cinsinden m bellek, p paralellik (şeritler) ve bayt cinsinden çıktı hash uzunluğu.

Üç varyant sunulur. Argon2id (varsayılan ve RFC önerisi) hem yan kanal hem de zaman-bellek takas saldırılarına direnen bir melezdir; Argon2i yan kanal sızıntısına karşı optimize edilmiştir; Argon2d GPU kırmaya karşı direnci en üst düzeye çıkarır ancak yan kanala karşı güvenli değildir. Sonuç, $argon2id$v=19$m=65536,t=3,p=1$<base64 salt>$<base64 hash> biçiminde kendini tanımlayan bir PHC dizesidir, böylece doğrulamak için gereken her parametre hash'in içinde seyahat eder. Varsayılanlar (t=3, m=65536 KiB = 64 MiB, p=1) RFC 9106'nın ikinci önerilen profilini izler.

İş, tarayıcının katı güvenlik politikası altında eval'sız bir WebAssembly derlemesi olarak çalıştığından, bellek sayfada tahsis edilir: çok yüksek m değerleri RAM yoğundur ve telefonlarda yavaş olabilir, bu yüzden araç 256 MiB üzerinde uyarır. Doğrulama modu, kodlanmış bir hash'ten varyantı, sürümü, m/t/p'yi, salt'ı ve özeti ayrıştırır, aday parolayla yeniden hesaplar ve eşleşme ya da eşleşmeme bildirir. Parolalar %100 tarayıcınızda hash'lenir ve hiçbir şey yüklenmez.

Sık sorulan sorular

Hangi Argon2 varyantını kullanmalıyım?
Argon2id, parola hash'leme için varsayılan ve RFC 9106 önerisidir — Argon2i'nin yan kanal direncini Argon2d'nin GPU kırma direnciyle harmanlar. Argon2i'yi yalnızca özellikle veriden bağımsız bellek erişimine ihtiyacınız varsa, Argon2d'yi ise yalnızca yan kanal riski olmayan ortamlarda kullanın.
Bellek, yineleme ve paralellik ayarları ne yapar?
Bellek (m, KiB cinsinden) hash'in doldurduğu RAM'dir — ana maliyet etkenidir. Yineleme (t) o bellek üzerinden kaç geçiş yapıldığıdır. Paralellik (p) bir kerede hesaplanan şerit sayısıdır. Daha yüksek m ve t daha güçlü, daha yavaş hash'ler demektir; varsayılanlar m=65536 (64 MiB), t=3, p=1'dir.
Yüksek bir bellek ayarı neden yavaş veya yanıt vermiyor?
Argon2 istenen belleği tarayıcınızda gerçekten tahsis eder, bu yüzden 1 GiB (1048576 KiB) gibi bir değer düşük RAM'li cihazlarda takılabilir veya başarısız olabilir. Araç 256 MiB üzerinde uyarır. Oluşturma takılırsa m'yi azaltın; parametreler her durumda hash'te saklanır.
Hash, onu doğrulamak için gereken her şeyi içeriyor mu?
Evet. PHC kodlu çıktı varyantı, sürümü, m/t/p parametrelerini, salt'ı ve özeti gömer, böylece doğrulama yalnızca parolaya ve o tek dizeye ihtiyaç duyar. Hiçbir şey herhangi bir yere gönderilmez — hem hash'leme hem doğrulama WebAssembly aracılığıyla yerel olarak çalışır.

Daha fazla araç