SHA-256
SHA-256 (Secure Hash Algorithm 256-bit)
Herhangi bir girdiden sabit 256 bit (32 bayt) özet üreten, veri bütünlüğü doğrulama, dijital imzalar, blok zinciri ve parola saklama için yaygın olarak kullanılan bir kriptografik hash fonksiyonudur.
Teknik Detay
NSA tarafından tasarlanan SHA-2 ailesinin parçası olan SHA-256, girdiyi 512 bit bloklar halinde 64 tur bitsel işlem, modüler toplama ve sıkıştırma fonksiyonlarıyla işler. Çıktı 64 karakterlik bir onaltılık dizedir (256 bit). SHA-256 için pratik bir çarpışma bulunamamıştır (SHA-1 ve MD5'in aksine). Uygulamalar arasında Git commit hash'leri, Bitcoin madenciliği (çift SHA-256), TLS sertifika parmak izleri ve dosya bütünlüğü kontrolleri (sağlama toplamları) yer alır. Web Crypto API'nin subtle.digest('SHA-256', data) metodu yerel tarayıcı desteği sağlar. Parola hash'leme için, kasıtlı hesaplama maliyetleri nedeniyle ham SHA-256 yerine özel fonksiyonlar (bcrypt, Argon2) tercih edilir.
Ornek
```javascript
// SHA-256 — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0')).join('');
```