scrypt Hash Üreteci

Ücretsiz çevrimiçi scrypt Hash Üreteci aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.

General
Password Hashing / KDF
Specialized
Deprecated
bytes
Çıkış

Sonuç burada görüntülenecek...

Giriş Karma Hesapla

Usage Guide

scrypt Hakkında

scrypt (RFC 7914), hem CPU süresi hem de bellek açısından pahalı olacak şekilde tasarlanmış, bellek yoğun bir parola tabanlı anahtar türetme işlevidir. PBKDF2 ve bcrypt'i tehdit eden GPU, FPGA ve ASIC kaba kuvvet saldırılarına karşı direnç sağlamak için oluşturulmuştur. scrypt; Litecoin iş kanıtı, parola yöneticileri ve güvenli anahtar türetmede kullanılmaktadır. Üç maliyet parametresi güvenlik ile performans arasındaki dengeyi ayarlamanıza imkân tanır.

scrypt bir KDF'dir, hash fonksiyonu değil. Parola ve salt'tan bir anahtar türetir — farklı parametrelerle elde edilen çıktılar birbiriyle doğrudan karşılaştırılamaz. Gelecekteki doğrulama için her zaman tam parametre dizesini (n:r:p:salt:key) saklayın.

Kullanım Adımları

scrypt tek yönlü bir anahtar türetme işlevidir — tersine çevrilemez:

1. Parola GirinAnahtar türetmek istediğiniz parolayı giriş kutusuna yazın
2. Parametreleri YapılandırınN (CPU/bellek maliyeti), r (blok boyutu), p (paralellik) değerlerini ayarlayın. Varsayılan değerler (N=16384, r=8, p=1) etkileşimli girişler için uygundur
3. Anahtar TüretinŞifrele düğmesine tıklayın — çıktı biçimi n:r:p:salt_base64:key_hex şeklindedir
4. Parola DoğrulayınDoğrulamak için, tam çıktı dizesini parolanın ardına | ile ayırarak yapıştırın (örn. parolam|16384:8:1:salt:keyhex) ve Şifreyi Çöz düğmesine tıklayın
Gizlilik: Tüm türetme işlemleri WebAssembly aracılığıyla tamamen tarayıcınızda gerçekleştirilir. Parolanız hiçbir zaman iletilmez.

Çıktı Biçimi

scrypt, gelecekteki doğrulamalar için gereken tam parametre dizesini çıktı olarak verir:

Biçimn:r:p:salt_base64:key_hex (örn. 16384:8:1:abc123...:d4e5f6...)
NCPU ve bellek maliyet faktörü — 2'nin kuvveti olmalıdır (örn. 16384 = 2¹⁴)
rBlok boyutu parametresi — bellek bant genişliği maliyetini etkiler
pParalelleştirme faktörü — bellekten bağımsız olarak CPU maliyetini artırır
SaltHer türetme işlemi için otomatik oluşturulan 16 baytlık rastgele salt (Base64 kodlu)
Anahtar32 baytlık türetilmiş anahtar (onaltılık kodlu)

scrypt Parametrelerini Seçme

Güvenlik gereksinimlerinize ve kabul edilebilir gecikmeye göre parametreleri seçin:

Etkileşimli (giriş)N=16384, r=8, p=1 — modern donanımda ~100ms, web kimlik doğrulaması için uygun
Hassas (dosya şifreleme)N=1048576, r=8, p=1 — modern donanımda ~5s, disk şifreleme anahtarları için uygun
N 2'nin kuvveti olmalıdırGeçerli değerler: 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576
Bellek kullanımıYaklaşık 128 × N × r bayt (örn. N=16384, r=8 → ~16 MB)
Yeni uygulamalar için Argon2id 'yi (Password Hashing Competition kazananı, NIST ve OWASP tarafından önerilen) değerlendirin. scrypt mükemmel ve yaygın olarak kullanılmaktadır, ancak Argon2id daha basit bir parametre modeline sahiptir.

FAQ

Q: scrypt'i donanım saldırılarına karşı dirençli kılan nedir?

A: scrypt bellek yoğundur: dahili ROMix algoritması büyük bir bellek bloğuna (128 × N × r bayt) sözde rastgele bir sırayla erişmeyi gerektirir. Bu sıralı bellek erişim deseni SHA-256 gibi paralelleştirilemez — N=16384, r=8 için ~16 MB rastgele erişim gerekir; bu da GPU/ASIC donanımındaki saldırıları SHA-256 veya PBKDF2 gibi salt hesaplama tabanlı hashlere kıyasla kat kat daha pahalı hale getirir.

Q: scrypt bcrypt ve Argon2 ile nasıl karşılaştırılır?

A: Her üçü de parola hashleme algoritmasıdır ancak tasarım bakımından farklıdır: bcrypt (1999) yalnızca zaman yoğundur (sabit 4 KB bellek), bu da onu GPU saldırılarına karşı giderek daha savunmasız kılmaktadır. scrypt (2009) bellek yoğundur, GPU/ASIC'e karşı dirençlidir ancak karmaşık parametre etkileşimi vardır (büyük N, p aracılığıyla CPU maliyetini de artırır). Argon2id (2015, PHC kazananı) bellek yoğundur, GPU'ya dirençlidir ve bağımsız zaman/bellek/paralellik parametrelerine sahiptir. OWASP ve NIST yeni sistemler için Argon2id'yi önerir; scrypt güçlü bir ikinci seçenektir.

Q: N neden 2'nin kuvveti olmak zorundadır?

A: scrypt'in ROMix algoritması, N'yi dahili olarak bir arama tablosunun boyutu olarak kullanır ve verimli rastgele erişim için bit maskelemeye (index & (N-1)) dayanır. Bu maske hilesi yalnızca N 2'nin kuvveti olduğunda doğru çalışır. Yaygın değerler: etkileşimli kullanım için 16384 (2¹⁴), dosya şifreleme için 1048576 (2²⁰).

Q: scrypt çıktısını doğrudan kriptografik anahtar olarak kullanabilir miyim?

A: Evet — scrypt özellikle anahtar materyali üretmek için tasarlanmıştır. 32 baytlık (256 bit) çıktı, AES-256 anahtarı veya ChaCha20-Poly1305 anahtarı olarak kullanılmaya uygundur. Ancak aynı scrypt türetimini birden fazla amaç için (örn. hem kimlik doğrulama HEM şifreleme) asla kullanmayın — farklı salt'larla ayrı anahtarlar türetin ya da bir kök anahtarı genişletmek için HKDF gibi bir KDF kullanın.

Q: Doğrulama giriş biçimi nedir?

A: Saklanan bir scrypt hash'ine karşı parola doğrulamak için parola ve tam scrypt çıktı dizesini dikey çizgi karakteriyle ayırın: parola|16384:8:1:salt_base64:key_hex. Araç, saklanan parametreleri kullanarak anahtarı yeniden türetir ve saklanan anahtarla karşılaştırır. Eşleşirse '✓ Parola doğrulandı' döndürür.

Q: scrypt veritabanında parola depolamak için uygun mudur?

A: Evet, uygun parametrelerle. Her kullanıcı için tam dizeyi (n:r:p:salt:key) saklayın — gelecekteki doğrulamalar için gereken her şeyi içerir. Etkileşimli girişler için en az N=16384, r=8, p=1 kullanın; daha güvenlik açısından kritik uygulamalar için N'yi artırın. Güncel öneriler için OWASP Parola Depolama Hızlı Başvuru Kılavuzu 'na bakın.

Use Cases

Önerilen: Parola Depolama

scrypt, parolaları bir veritabanına kaydetmeden önce hashlenmesi için mükemmel bir seçimdir. Bellek yoğunluğu, çevrimdışı kaba kuvvet saldırılarını PBKDF2 veya bcrypt'e kıyasla kat kat daha pahalı hale getirir. Web uygulamaları için N≥16384, daha hassas sistemler için daha yüksek değerler kullanın.

Recommended Configuration:
  • ✅ Etkileşimli web girişleri için scrypt N=16384, r=8, p=1
  • ✅ Tam n:r:p:salt:key dizesini saklayın — asla yalnızca anahtarı değil
  • ✅ Her kullanıcı için benzersiz rastgele salt kullanın (bu araç tarafından otomatik oluşturulur)
  • ❌ N<1024 ile scrypt kullanmayın — yetersiz iş faktörü
  • 💡 Yeni projeler için Argon2id'yi değerlendirin — mevcut OWASP önerisi
Önerilen: Disk Şifreleme Anahtar Türetimi

scrypt, disk veya dosya şifreleme için parola ifadelerinden şifreleme anahtarları türetmek için oldukça uygundur. Türetme yalnızca bağlama sırasında bir kez gerçekleştiğinden ve ek birkaç saniyelik gecikme kabul edilebilir olduğundan, daha yüksek parametreler (N=1048576) uygundur. Türetilen anahtar doğrudan AES-256-GCM ile kullanılabilir.

Recommended Configuration:
  • ✅ Disk/dosya şifreleme anahtar türetimi için scrypt N=1048576 (2²⁰)
  • ✅ 32 baytlık çıktıyı doğrudan AES-256-GCM anahtarı olarak kullanın
  • ✅ scrypt parametrelerini ve salt'ı şifreli verilerle birlikte saklayın
  • ❌ Aynı türetilmiş anahtarı hem kimlik doğrulama hem de şifreleme için kullanmayın
Önerilen: Kripto Para Uygulamaları

scrypt, Litecoin (ve diğer kripto paralar) için İş Kanıtı algoritması olarak benimsenmiştir. Cüzdan uygulamalarında scrypt, anımsatıcılardan veya parola ifadelerinden özel anahtarlar türetmek için kullanılır. Bellek yoğunluğu özellikle ASIC madencilik avantajlarına direnç sağlamak amacıyla seçilmiştir.

Recommended Configuration:
  • ✅ Kullanıcı parola ifadelerinden cüzdan anahtarı türetimi için scrypt
  • ✅ Parola ifadesiyle korunan anahtar depolama için scrypt
  • ❌ PoW madencilik uygulamaları için uygulamaya özgü parametreler kullanın
Önerilmez: Kimlik Doğrulamasız Bağlamlar

scrypt bir anahtar türetir — kendi başına kimlik doğrulama veya bütünlük sağlamaz. Mesaj kimlik doğrulama koduna ihtiyaç duyuyorsanız HMAC-SHA256 kullanın. Hızlı veri sağlama toplamına ihtiyaç duyuyorsanız SHA-256 kullanın. scrypt'in hesaplama maliyeti, onu yüksek hacimli işlemler için uygunsuz kılar.

Recommended Configuration:
  • ❌ Genel amaçlı hashleme için scrypt (bunun yerine SHA-256 kullanın)
  • ❌ HMAC veya mesaj kimlik doğrulaması için scrypt
  • ❌ Yüksek frekanslı işlemler için scrypt (API istek imzalama, istek başına token)
  • ✅ scrypt yalnızca parola koruma özellikleri açıkça gerektiğinde kullanılmalıdır

En İyi Uygulama Özeti

  • scrypt bellek yoğun bir KDF'dir — parola hashleme ve parola ifadelerinden anahtar türetme için uygundur.
  • Her zaman tam parametre dizesini (n:r:p:salt:key) saklayın — asla yalnızca anahtarı değil.
  • N 2'nin kuvveti olmak zorundadır; varsayılan N=16384, r=8, p=1 etkileşimli girişler için uygundur.
  • Yeni uygulamalar için OWASP, Argon2id'yi birinci tercih olarak önerir; scrypt güçlü bir ikinci seçenektir.
  • scrypt genel hashleme, MAC veya yüksek frekanslı işlemler için UYGUN DEĞİLDİR — bunlar için SHA-256 veya HMAC kullanın.

Tartışma ve Geri Bildirim

0 yorum
Ben