Scrypt Oluşturucu
Rastgele veya özel bir salt değeriyle paroladan scrypt anahtarı türetin. Maliyet üssünü en fazla 15'e (N en fazla 32768), blok boyutunu r için en fazla 8'e, paralellik değerini p için en fazla 4'e ve anahtar uzunluğunu 16 ile 64 bayt arasına ayarlayın. Araç, RFC 7914 standardına uyar ve anahtarı, kullanılan salt değerini ve parametreleri hex veya Base64 biçiminde döndürür; bunları Node.js crypto.scrypt, Python hashlib veya libsodium ile karşılaştırabilirsiniz. Parola yanıtta gösterilmez.
Sık sorulan sorular
scrypt nedir?
Scrypt, Colin Percival tarafından geliştirilmiş ve RFC 7914 ile standartlaştırılmış, belleği yoğun kullanan bir anahtar türetme işlevidir. Her denemenin büyük miktarda bellek kullanmasını sağlayarak parola ve salt değerinden bir anahtar türetir. Parola depolama, disk şifreleme ve bazı kripto para birimlerinde kullanılır.
N, r ve p ne anlama gelir?
N, CPU ve bellek maliyetidir ve ikinin kuvveti olmalıdır; r blok boyutunu, p ise paralelleştirme katsayısını belirtir. Bellek kullanımı yaklaşık 128 çarpı N çarpı r bayttır; bu nedenle r = 8 iken N = 16384, 16 MiB bellek gerektirir. Burada N en fazla 32768, r en fazla 8 ve p en fazla 4 olabilir.
Varsayılan parametreler nelerdir?
Varsayılan değerler N = 16384 (maliyet üssü 14), r = 8, p = 1 ve 32 baytlık anahtardır; bunlar scrypt makalesinde önerilen etkileşimli ayarlardır. Sisteminizin kaldırabildiği ölçüde daha güçlü koruma için N değerini artırın.
Salt değeri nasıl seçilir?
Salt alanı boşsa araç 16 rastgele bayt oluşturur ve sonucu gösterir. Bir salt girerseniz UTF-8 baytları kullanılır; böylece başka bir sistemdeki anahtarı yeniden üretebilirsiniz. Farklı parolalar için aynı salt değerini asla yeniden kullanmayın.
RFC 7914 test vektörlerini yeniden oluşturabilir miyim?
Evet. pleaseletmein parolası, SodiumChloride salt değeri, 14 maliyet üssü, r = 8, p = 1 ve 64 baytlık anahtarla 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887 sonucunu verir; bu, RFC'deki üçüncü vektördür.
Parametreler neden sınırlı?
Scrypt gerçek bellek ayırır ve paylaşımlı bir sunucuda çalışır. N değerini 32768, r değerini 8 ve p değerini 4 ile sınırlamak, her türetme işleminin bellek kullanımını yaklaşık 32 MiB'nin, işlem süresini de bir iki saniyenin altında tutar.
Bir scrypt parola karmasını nasıl saklarım?
Anahtarı, salt değerini ve N, r, p değerlerini birlikte saklayın; parolayı daha sonra kontrol etmek için hepsine ihtiyacınız olur. Node.js crypto.scrypt gibi kitaplıklar depolama biçimini size bırakırken, diğerleri kendi dize biçimlerini kullanır.
Parolam sonuca dahil ediliyor mu?
Hayır. Yanıtta anahtar, salt değeri ve parametreler bulunur; parola bulunmaz. Hiçbir şey kaydedilmez veya saklanmaz.
Scrypt mi, Argon2 mi kullanmalıyım?
Her ikisi de bellek zordur ve parolalar için uygundur. Argon2id daha yeni bir öneridir ve ayarları daha kolay yapılır; scrypt ise Node.js ve Python gibi standart kitaplıklarda yaygın olarak desteklenir.
Hex ve Base64 seçenekleri neyi değiştirir?
Sonuçta anahtarın ve salt değerinin nasıl yazılacağını değiştirirler. Baytlar aynıdır; bu nedenle kodunuzun okuyabildiği biçimi seçin.