SHA-256
SHA-256 (Secure Hash Algorithm 256-bit)
Fungsi hash kriptografi yang menghasilkan digest tetap 256-bit (32-byte) dari input apa pun, banyak digunakan untuk verifikasi integritas data, tanda tangan digital, blockchain, dan penyimpanan kata sandi.
Detail Teknis
SHA-256, bagian dari keluarga SHA-2 yang dirancang oleh NSA, memproses input dalam blok 512-bit melalui 64 putaran operasi bitwise, penjumlahan modular, dan fungsi kompresi. Output-nya adalah string heksadesimal 64 karakter (256 bit). Belum ditemukan tabrakan praktis untuk SHA-256 (tidak seperti SHA-1 dan MD5). Aplikasi mencakup hash commit Git, penambangan Bitcoin (double SHA-256), fingerprint sertifikat TLS, dan pemeriksaan integritas file (checksum). subtle.digest('SHA-256', data) dari Web Crypto API menyediakan dukungan browser native. Untuk hashing kata sandi, fungsi khusus (bcrypt, Argon2) lebih disukai daripada SHA-256 mentah karena biaya komputasinya yang disengaja.
Contoh
```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('');
```