Şifreler ve Hash ' lar: Depolama, Doğrulama ve Algoritma Seçimi

Neden MD5 şifreleri saklamamalıyız, bcrypt vs SHA-256 ne zaman kullanılır ve yerel doğrulama ve öğrenme için havlu araçlarını güvenli bir şekilde nasıl kullanılır.

· Tüm rehberler

Hash şifreleme değil

Özetleme tek yönlü bir sindirimdir: aynı giriş aynı çıktı verir; orijinalini elde etmek için sindirimleri tersine çeviremezsiniz.Şifreleme bir anahtar ile geri dönüştürülebilir.Şifre depolaması tek yönlü hashing + tuz + yavaş algoritmalar kullanmalıdır- asla şifreleme-ve depolama; tek bir anahtar sızdırma tüm şifreleri açığa çıkarır. hash-generator MD5, SHA-256 sindirme davranışını anlamaya yardımcı olur ancak şifre depolaması için kullanılmamalıdır.

SHA-256 dosya kontrol toplamları, blok zinciri, API imzaları-hızlı, deterministik bütünlüğü için uygundur.Şifreler kasıtlı yavaşlık gerektirir: bcrypt, scrypt, Argon2 kaba kuvvet karşı maliyet faktörleri kullanır. Towel bcrypt aracı, öğrenme için turları ve hash formatını gösterir; üretim olgun sunucu tarafı kütüphaneleri kullanmalıdır.

Şifreler politikası ve üretimi

Güçlü şifreler sonsuz karmaşıklık kuralları değildir. Modern NIST kılavuzu: önce uzunluk (12+ karakter), ihlal veri tabanlarını kontrol edin (Have I Been Pwned), yapışkan notları süren zorla döndürmekten kaçının. Password-generator rastgele şifreler oluşturur; password-strength, ekip eğitimi için entropi ve zayıf kalıpları değerlendirir - test için gerçek çalışan şifrelerini asla toplamaz.

Çok faktörlü kimlik doğrulama (MFA), tek başına daha uzun şifreleri yenir. Araç siteleri kimlik sağlayıcılarının yerini alamaz - uygulama mimarinizde OAuth, WebAuthn, TOTP'yi uygulayın. Yerel jeneratörler test hesap şifreleri uyar; dağıtımdan önce sır yönetimi veya env-injected kimlik bilgilerle değiştirin.

API imzaları ve HMAC

Webhooks ve açık API'ler genellikle HMAC-SHA256'yı talep gövdeleri doğrulamak için kullanırlar: istemci ve sunucu bir sır paylaşır, kanonik bir dizede MAC'i hesaplar ve karşılaştırır. Bu, şifre hashing ' den farklıdır - HMAC zamanlama saldırılarına karşı gizli ve sürekli bir karşılaştırma gerektirir. Uygulamanızın resmi SDK çıkışıyla eşleşmesini doğrulamak için yerel olarak doc örneklerini yeniden üretir.

Hiçbir zaman üretim sırlarını herhangi bir çevrimiçi araca yapıştırmayın (Havlılar dahil). Entegrasyon testleri için düzenlenmiş örnekleri veya döndürülmüş eski anahtarları kullanın. Hash-generator ve KAC-generator ' un birleştirilmesi, digest, keyed digest ve JWT imzalama arasındaki sınırı netleştirir - sıklıkla yapılan arka uç röportajı ve kod inceleme konusu.

ilgili araçlar