Generator Hash SHA-256

Hasilkan hash SHA-256 dari teks apa pun

Teks Input

Berjalan lokal · Aman untuk menempel rahasia

Hash SHA-256

Hash SHA-256 akan ditampilkan di sini…

Apa Itu Hashing SHA-256?

SHA-256 (Secure Hash Algorithm 256-bit) adalah fungsi hash kriptografis dari keluarga SHA-2, yang diterbitkan oleh NIST pada tahun 2001 sebagai bagian dari FIPS 180-2 (diperbarui dalam FIPS 180-4). Untuk input apa pun — satu karakter, file berukuran beberapa gigabyte, atau string kosong — SHA-256 menghasilkan digest tetap 256-bit (32-byte), yang secara konvensional ditampilkan sebagai 64 karakter heksadesimal. SHA-256 adalah fungsi hash yang paling banyak digunakan dalam sistem produksi saat ini, menjadi fondasi rantai sertifikat TLS, proof-of-work Bitcoin, Subresource Integrity (SRI), dan alur kerja penandatanganan kode.

SHA-256 adalah fungsi satu arah: menghitung hash dari input berlangsung cepat (ratusan megabyte per detik pada perangkat keras modern), tetapi membalikkan prosesnya — menemukan input yang menghasilkan hash tertentu — tidak dapat dilakukan secara komputasi. Sifat ini, yang disebut preimage resistance, membuat SHA-256 cocok untuk hashing kata sandi (bila dikombinasikan dengan salt dan key-stretching), tanda tangan digital, dan verifikasi integritas data. Tidak seperti MD5 dan SHA-1, belum ada serangan tabrakan atau preimage yang berhasil dibuktikan terhadap SHA-256 secara penuh.

Keluarga SHA-2 mencakup enam varian: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, dan SHA-512/256. SHA-256 beroperasi pada kata 32-bit dengan 64 putaran per blok, dioptimalkan untuk prosesor 32-bit. SHA-512 menggunakan kata 64-bit dan 80 putaran, yang bisa lebih cepat pada platform 64-bit. Untuk sebagian besar aplikasi yang membutuhkan digest 256-bit, SHA-256 tetap menjadi rekomendasi default dari NIST, IETF, dan CA/Browser Forum.

Mengapa Menggunakan Generator SHA-256 Online?

Menghasilkan hash SHA-256 biasanya memerlukan perintah terminal atau beberapa baris kode. Alat berbasis browser ini memungkinkan Anda menghitung digest SHA-256 tanpa menginstal apapun, berpindah konteks, atau menulis skrip.

Hashing Instan di Browser Anda
Tempel atau ketik teks apa pun dan dapatkan digest SHA-256 secara langsung. Web Crypto API menangani perhitungan secara native — tanpa overhead library JavaScript.
🔒
Pemrosesan yang Mengutamakan Privasi
Input Anda tidak pernah meninggalkan perangkat Anda. Semua proses hashing berjalan secara lokal melalui Web Crypto API bawaan browser. Tidak ada data yang dikirim ke server mana pun.
📋
Format Output Siap Salin
Dapatkan hash dalam format hex huruf kecil atau huruf besar dengan satu klik. Berguna saat mencocokkan checksum dari package manager, pipeline CI, atau dokumentasi.
🔍
Verifikasi Silang Nilai Referensi
Verifikasi digest SHA-256 dari halaman unduhan, manifes SBOM, atau log audit dengan cepat tanpa membuka terminal atau menulis kode sekali pakai.

Kasus Penggunaan SHA-256

Pengembang Frontend — Subresource Integrity
Hitung hash SHA-256 dari skrip atau stylesheet yang dihosting di CDN untuk mengisi atribut integrity pada tag script dan link, melindungi dari gangguan rantai pasokan.
Backend Engineer — Penandatanganan Permintaan API
Banyak API (AWS Signature V4, webhook Stripe) memerlukan hash SHA-256 dari payload permintaan. Gunakan alat ini untuk menghitung hash referensi selama pengembangan dan debugging.
DevOps — Verifikasi Artefak
Verifikasi checksum SHA-256 dari biner yang diunduh, base image Docker, atau plugin provider Terraform sebelum men-deploy ke infrastruktur produksi.
QA Engineer — Validasi Vektor Uji
Bandingkan output SHA-256 dengan vektor uji NIST (contoh FIPS 180-4) untuk memastikan implementasi hashing Anda menangani kasus tepi dengan benar.
Data Engineer — Fingerprinting di Tingkat Baris
Hash kunci komposit atau kolom PII dengan SHA-256 untuk membuat fingerprint deterministik yang tidak dapat dibalikkan, digunakan untuk deduplikasi atau pseudonimisasi dalam pipeline data.
Mahasiswa — Tugas Kriptografi
Bereksperimen dengan SHA-256 untuk mengamati efek avalanche: ubah satu karakter pada input dan lihat bagaimana seluruh output 64 karakter berubah secara tidak terduga.

Perbandingan Varian Keluarga SHA-2

SHA-256 termasuk dalam keluarga SHA-2 yang didefinisikan dalam FIPS 180-4. Setiap varian memiliki pertukaran antara ukuran digest, karakteristik performa, dan margin keamanan. Tabel di bawah membandingkan semua varian SHA-2 yang kemungkinan besar akan Anda temui.

VarianUkuran DigestPanjang HexUkuran ByteTerbaik untuk
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-384384 bits96 hex chars48 bytesGovernment / CNSS, higher collision margin
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-256 vs SHA-1, MD5, dan SHA-3

Memilih algoritma hash yang tepat bergantung pada persyaratan keamanan dan batasan kompatibilitas Anda. SHA-256 menempati posisi praktis yang ideal: aman, didukung secara universal (termasuk Web Crypto API), dan cukup cepat untuk sebagian besar beban kerja. Tabel perbandingan di bawah mencakup properti yang paling penting saat memilih fungsi hash.

PropertiSHA-256SHA-1MD5SHA-3-256
Digest size256 bits (64 hex)160 bits (40 hex)128 bits (32 hex)256 bits (64 hex)
Security statusSecureBroken (2017)Broken (2004)Secure
Collision resistance2^128 operationsPractical attackPractical attack2^128 operations
Block size512 bits512 bits512 bits1600 bits (sponge)
Rounds64806424
StandardFIPS 180-4FIPS 180-4RFC 1321FIPS 202
Web Crypto APIYesYesNoNo
Primary use todayTLS, blockchain, SRILegacy git onlyNon-security checksumsBackup standard

Cara Kerja SHA-256 secara Internal

SHA-256 memproses input dalam blok 512-bit (64-byte) melalui konstruksi Merkle–Damgård. Algoritma menginisialisasi delapan kata status 32-bit (H0–H7) yang diturunkan dari bagian pecahan akar kuadrat delapan bilangan prima pertama. Setiap blok melewati 64 putaran pencampuran yang menggunakan operasi bitwise (AND, XOR, NOT, right-rotate, right-shift) dan 64 konstanta putaran yang diturunkan dari akar pangkat tiga dari 64 bilangan prima pertama.

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
LangkahDeskripsi
PaddingAppend a 1-bit, then zeros until the message length is 448 mod 512. Append the original message length as a 64-bit big-endian integer.
Block splittingDivide the padded message into 512-bit (64-byte) blocks.
Message scheduleExpand each 16-word (32-bit) block into 64 words using sigma functions with right-rotate and right-shift operations.
CompressionProcess 64 rounds per block using Ch, Maj, and two Sigma functions with 64 round constants derived from cube roots of the first 64 primes.
OutputConcatenate the eight 32-bit state words (H0-H7) into a 256-bit (32-byte) digest, rendered as 64 hexadecimal characters.

Efek avalanche memastikan bahwa membalik satu bit pada input mengubah sekitar 50% bit output. Sifat ini, dikombinasikan dengan resistansi tabrakan 2^128, adalah alasan SHA-256 tetap menjadi rekomendasi dasar untuk aplikasi yang sensitif terhadap keamanan pada tahun 2026.

Contoh Kode SHA-256

SHA-256 tersedia secara native di setiap bahasa dan runtime utama. Web Crypto API menyediakannya di browser tanpa library apa pun. Contoh di bawah menunjukkan pola penggunaan nyata termasuk penanganan input Unicode dan hashing file.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha256(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-256', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha256('hello world')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha256').update('hello world').digest('hex')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
Python
import hashlib

# Basic SHA-256 hash
result = hashlib.sha256(b'hello world').hexdigest()
print(result)  # → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

# Hash a string (encode to bytes first)
text = 'café ☕'
hashlib.sha256(text.encode('utf-8')).hexdigest()
# → "3eb53e00aa1bb4b1e8aab1ab38e56e6b8fb0b20e1cf7e1d19f36e4fad2537445"

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha256()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha256.Sum256(data)
    fmt.Printf("%x\n", hash)
    // → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
CLI (Linux / macOS)
# Using sha256sum (Linux) or shasum (macOS)
echo -n "hello world" | sha256sum
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# macOS
echo -n "hello world" | shasum -a 256
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# Verify a file checksum
echo "b94d27b...  myfile.bin" | sha256sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha256
# → SHA2-256(stdin)= b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Pertanyaan yang Sering Diajukan

Apakah SHA-256 masih aman?
Ya. Hingga tahun 2026, belum ada serangan tabrakan, preimage, atau second-preimage praktis yang ditemukan terhadap SHA-256 secara penuh. NIST, CA/Browser Forum, dan IETF terus merekomendasikan SHA-256 untuk sertifikat TLS, penandatanganan kode, dan tanda tangan digital. Resistansi tabrakan teoritis adalah 2^128 operasi, jauh melampaui batas komputasi saat ini.
Apa perbedaan antara SHA-256 dan SHA-2?
SHA-2 adalah nama keluarga untuk enam fungsi hash: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, dan SHA-512/256. SHA-256 adalah anggota yang paling sering digunakan. Ketika dokumentasi menyatakan "gunakan SHA-2," hampir selalu berarti SHA-256 secara khusus kecuali digest yang lebih panjang diperlukan.
Bisakah SHA-256 dibalikkan atau didekripsi?
Tidak. SHA-256 adalah fungsi hash satu arah, bukan enkripsi. Tidak ada kunci dan tidak ada proses dekripsi. Satu-satunya cara untuk menemukan input asli adalah serangan brute-force atau kamus, yang tidak dapat dilakukan secara komputasi untuk input yang cukup kompleks. Untuk input yang pendek atau mudah ditebak (seperti kata sandi umum), rainbow table yang sudah dihitung sebelumnya ada, itulah mengapa hashing kata sandi harus selalu menggunakan salt dan KDF khusus seperti bcrypt atau Argon2.
Bagaimana perbandingan SHA-256 dengan SHA-3?
SHA-3 (Keccak, FIPS 202) menggunakan struktur internal yang sepenuhnya berbeda (konstruksi sponge) dibandingkan SHA-256 (Merkle–Damgård). Baik SHA-256 maupun SHA-3-256 menghasilkan digest 256-bit dan menawarkan resistansi tabrakan yang setara. SHA-3 dirancang sebagai cadangan jika SHA-2 berhasil dibobol, tetapi SHA-2 tetap tidak terbobol. SHA-256 memiliki dukungan runtime yang lebih luas — khususnya, Web Crypto API mendukung SHA-256 tetapi tidak SHA-3.
Apakah SHA-256 cocok untuk hashing kata sandi?
Tidak secara langsung. Hash SHA-256 mentah dari kata sandi rentan terhadap serangan brute-force dan rainbow table karena SHA-256 dirancang untuk berjalan cepat. Untuk penyimpanan kata sandi, gunakan fungsi derivasi kunci khusus seperti bcrypt, scrypt, atau Argon2id, yang menambahkan salt dan faktor kerja yang dapat dikonfigurasi untuk memperlambat serangan.
Mengapa Bitcoin menggunakan SHA-256 ganda?
Bitcoin menghitung SHA-256(SHA-256(data)) (dikenal sebagai hash256) untuk header blok dan ID transaksi. Penerapan ganda ini melindungi dari serangan length-extension, di mana penyerang menambahkan data ke pesan dan menghitung hash yang valid tanpa mengetahui input aslinya. Ini adalah sifat dari hash Merkle–Damgård yang tidak dapat dicegah oleh SHA-256 satu kali jalan.
Apa itu Subresource Integrity (SRI) dan bagaimana kaitannya dengan SHA-256?
SRI adalah spesifikasi W3C yang memungkinkan browser memverifikasi bahwa sumber daya yang diambil (skrip, stylesheet) tidak diubah. Anda menambahkan atribut integrity yang berisi hash SHA-256 (atau SHA-384/SHA-512) yang dienkode Base64 dari konten file yang diharapkan. Browser menghitung hash dari file yang diunduh dan menolak untuk menjalankannya jika hash tidak cocok. SHA-256 adalah algoritma minimum yang didukung oleh SRI.