Haş nedir? MD5, SHA-256 ve gerçekten HMAC'a ihtiyacınız olduğunda
Karma işlevleri, herhangi bir girişi sabit uzunlukta bir parmak izine dönüştürür, ancak tüm karmalar eşit şekilde oluşturulmaz. MD5, SHA-256 ve HMAC arasında seçim yapmak, çalışan bir güvenlik kontrolü ile sessizce başarısız olan bir güvenlik kontrolü arasındaki fark anlamına gelir. Bu kılavuz, her birinin ne yaptığını, ne zaman kullanılacağını ve kendi karmalarınızı doğrudan tarayıcınızda nasıl doğrulayacağınızı açıklamaktadır.
Karma işlevi nedir?
Bir karma işlevi herhangi bir miktarda veriyi (metin, dosya, parola) alır ve sabit uzunlukta bir karakter dizisi üretir. Aynı girdi her zaman aynı çıktıyı üretir, bu da karmaları doğrulama için faydalı kılar. Girişteki tek bir karakteri bile değiştirdiğinizde karma tamamen değişir. Bu tek yönlü özellik (orijinal verileri geri almak için karma değerini tersine çeviremezsiniz), onu güvenlik açısından yararlı kılan şeydir.
MD5: hızlı ama bozuk
MD5 128 bitlik bir karma üretir ve bir zamanlar sağlama toplamları ve dosya doğrulama için standarttı. Bugün kriptografik olarak kırılmıştır; çarpışmaların (aynı karma değeri üreten iki farklı girdi) bulunması hızlıdır. MD5 hala eski sistemlerde ve güvenlikle ilgili olmayan sağlama toplamları için görünüyor, ancak kimlik doğrulama veya parolalar için asla görünmüyor. Şunu kullanın: Karma oluşturucu MD5 çıktısını görmek için, ancak önemli olan her şey için SHA-256'ya ulaşın.
SHA-256: mevcut standart
SHA-256 (SHA-2 ailesinin bir parçası) 256 bitlik bir karma üretir ve kriptografik çalışmalar için modern seçimdir. Çoğu uygulama için yeterince hızlıdır, bilinen saldırılara karşı dayanıklıdır ve geniş çapta desteklenir. göreceksin SHA-256 Blockchain sistemlerinde, sertifika parmak izlerinde ve şifre karma işlemlerinde kullanılır. Karma oluşturucu varsayılan algoritma olarak SHA-256'yı destekler.
HMAC: bir sırra ihtiyacınız olduğunda
Düz bir karma işlevi deterministiktir; karma değeri herkes doğrulayabilir. Bir HMAC (Karma Tabanlı Mesaj Kimlik Doğrulama Kodu) gizli bir anahtarla karışır, böylece yalnızca anahtarı bilen biri doğru karma değeri üretebilir. Bu, API'ler için çok önemlidir: sunucu ve istemci bir sır paylaşır, her biri mesajlarını bununla imzalar ve alıcı, imzanın eşleştiğini doğrular. Bu, mesajın iddia edilen göndericiden geldiğini ve tahrif edilmediğini kanıtlar. HMAC jeneratörü bunu kendi gizli anahtarınızla test etmenizi sağlar.
Her yaklaşımın ne zaman kullanılacağı
- Düz kullan
SHA-256dosya bütünlüğü kontrolleri, şifre karma (tuzlu ve bcrypt gibi yavaş bir işlevle) ve genel parmak izi alma için. - Kullanmak
HMACAPI istek imzalama, web kancası doğrulama ve her iki tarafın da bir sırrı paylaştığı herhangi bir senaryo için. - Atlamak
MD5güvenlikle ilgili herhangi bir şey için. Bunu yalnızca gerektiren eski sistemlerle etkileşimde bulunurken kullanın.
Verileriniz cihazınızda kalır
Her ikisi de Karma oluşturucu Ve HMAC jeneratörü tamamen tarayıcınızda çalıştırın. Metniniz hiçbir zaman bir sunucuya gönderilmez; cihazınızda yerel olarak hashlenir, sayfa yüklendikten sonra çevrimdışı çalışır ve hesap veya oturum açma gerektirmez. Bu, API anahtarları gibi hassas bilgileri internete maruz bırakmadan test etmek için güvenli bir şekilde karma oluşturabileceğiniz anlamına gelir.
Bonus: entropiyi ölçün
Sırlar veya parolalar oluşturuyorsanız, Shannon entropisi hesap makinesi bir dizede ne kadar rastgelelik (ve dolayısıyla güvenlik) olduğunu gösterir. Daha yüksek entropi, tahmin edilmesinin zor olduğu anlamına gelir. Oluşturduğunuz sırların dağıtılmadan önce gerçekten rastgele olduğunu doğrulamak için bunu kullanın.