SHA-1 vs SHA-256 vs SHA-512: Memilih Algoritma Hash yang Tepat

16 Jun 2026 593 words

SHA-1 vs SHA-256 vs SHA-512

SHA-1, SHA-256, dan SHA-512 adalah anggota dari keluarga Secure Hash Algorithm, tetapi berbeda secara signifikan dalam keamanan, ukuran output, dan kinerja. Memilih yang tepat tergantung pada kebutuhan keamanan, batasan kinerja, dan kebutuhan kompatibilitas Anda.

Perbandingan Cepat

Fitur SHA-1 SHA-256 SHA-512
Ukuran output 160 bit (20 byte) 256 bit (32 byte) 512 bit (64 byte)
Tingkat keamanan 80 bit (rusak) 128 bit (aman) 256 bit (aman)
Putaran 80 64 80
Ukuran kata 32 bit 32 bit 64 bit
Ukuran blok 512 bit 512 bit 1024 bit
Status Tidak digunakan lagi Direkomendasikan Direkomendasikan

Analisis Keamanan

SHA-1 menghasilkan hash 160-bit, memberikan ketahanan tabrakan 2^80 operasi berdasarkan paradoks ulang tahun. Pada tahun 2017, Google mendemonstrasikan serangan SHAttered, menghasilkan tabrakan SHA-1 praktis pertama menggunakan sekitar 2^63 operasi. Ini membuktikan bahwa SHA-1 tidak lagi memberikan keamanan yang memadai untuk tujuan apa pun di mana ketahanan tabrakan penting.

SHA-256 menyediakan ketahanan tabrakan 128-bit. Pada tahun 2026, tidak ada serangan praktis yang mengurangi keamanan SHA-256 di bawah kekuatan desainnya. Ini disetujui oleh NIST untuk digunakan dalam aplikasi pemerintah AS dan merupakan standar untuk sertifikat SSL/TLS, blockchain, dan tanda tangan digital.

SHA-512 menyediakan ketahanan tabrakan 256-bit. Ini bahkan lebih kuat dari SHA-256 tetapi menawarkan lebih banyak keamanan daripada yang dibutuhkan sebagian besar aplikasi. Kekuatan ekstra datang dengan biaya kinerja pada sistem 32-bit, tetapi pada sistem 64-bit SHA-512 sebenarnya bisa lebih cepat dari SHA-256.

Di Mana SHA-1 Masih Ditemukan

Meskipun sudah tidak digunakan lagi, SHA-1 masih muncul di sistem lama:

  • Git menggunakan SHA-1 untuk hash komit (meskipun Git telah menambahkan dukungan SHA-256)
  • Tanda tangan digital lama yang ditandatangani dengan sertifikat SHA-1
  • Checksum file lama yang didistribusikan sebelum penghentian
  • Beberapa sistem kontrol versi dan alat cadangan

Jika Anda menemukan SHA-1 dalam sistem baru, segera migrasikan ke SHA-256.

Pertimbangan Kinerja

Pada prosesor 32-bit, SHA-256 lebih cepat dari SHA-512 karena SHA-512 beroperasi pada kata 64-bit, memerlukan instruksi tambahan. Pada prosesor 64-bit dengan akselerasi perangkat keras (ekstensi SHA), SHA-256 dan SHA-512 keduanya berkinerja baik, dengan SHA-256 biasanya sedikit lebih cepat.

Untuk hashing file besar, perbedaannya terukur tetapi jarang signifikan untuk penggunaan tipikal. File yang membutuhkan 1 detik untuk di-hash dengan SHA-256 mungkin membutuhkan 0,7 detik dengan SHA-1 atau 1,3 detik dengan SHA-512. Untuk sebagian besar aplikasi, manfaat keamanan SHA-256 jauh lebih besar daripada perbedaan kinerja yang kecil.

Contoh Kode

// PHP
echo hash('sha1', 'hello');   // aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
echo hash('sha256', 'hello'); // 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
echo hash('sha512', 'hello'); // 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
import hashlib

print(hashlib.sha1(b'hello').hexdigest())
print(hashlib.sha256(b'hello').hexdigest())
print(hashlib.sha512(b'hello').hexdigest())
// Node.js
const crypto = require('crypto');
console.log(crypto.createHash('sha1').update('hello').digest('hex'));
console.log(crypto.createHash('sha256').update('hello').digest('hex'));
console.log(crypto.createHash('sha512').update('hello').digest('hex'));

Rekomendasi

Kasus Penggunaan Rekomendasi
Sertifikat SSL/TLS SHA-256
Verifikasi integritas file SHA-256 atau SHA-512
Tanda tangan digital SHA-256
Hashing kata sandi bcrypt atau argon2 (bukan SHA)
Blockchain / kripto SHA-256
Pengarsipan jangka panjang SHA-512
Kompatibilitas lama Migrasikan ke SHA-256

Alat Online

Gunakan alat SHA-1 Generator, SHA-256 Generator, dan SHA-512 Generator untuk menghitung hash secara instan. Multiple Hash Generator menghasilkan semua jenis hash sekaligus untuk perbandingan.

Kesimpulan

SHA-1 sudah rusak dan tidak boleh digunakan. SHA-256 adalah standar yang direkomendasikan untuk sebagian besar aplikasi. SHA-512 memberikan keamanan ekstra untuk lingkungan berisiko tinggi. Gunakan SHA-256 sebagai default kecuali Anda memiliki alasan khusus untuk memilih yang lain.


About this article

Bandingkan algoritma hash SHA-1, SHA-256, dan SHA-512 untuk memahami tingkat keamanan, tradeoff kinerja, dan kapan menggunakan masing-masing.


Related Articles


Related Tools

Help2Code Logo
Menu