SHA-3 Hash Generator (Keccak SHA3-256 NIST)
Hasilkan hash SHA-3 online gratis. Konstruksi sponge NIST FIPS 202 — standar pasca-SHA-2. Output SHA3-256 dalam 64 karakter hex. Hanya browser melalui js-sha3 yang di-lazy-load; tanpa unggahan.
Apa Itu SHA-3?
SHA-3 (Secure Hash Algorithm 3) adalah generasi ketiga Secure Hash Standard NIST, distandarkan dalam FIPS 202 pada Agustus 2015. Tidak seperti SHA-1 dan SHA-2, yang didasarkan pada konstruksi Merkle-Damgård, SHA-3 menggunakan desain yang disebut konstruksi sponge — pilihan yang NIST buat secara sengaja untuk memastikan keretakan kriptanalitis SHA-2 tidak akan secara otomatis mengkompromikan SHA-3.
Kompetisi SHA-3 NIST (2007–2012): NIST meminta kiriman publik di seluruh dunia pada 2007. Setelah tiga ronde evaluasi, 64 kandidat dipersempit menjadi lima finalis: BLAKE, Grøstl, JH, Keccak, dan Skein. Pada Oktober 2012, Keccak — dirancang oleh Guido Bertoni, Joan Daemen, Michaël Peeters, dan Gilles Van Assche dari STMicroelectronics dan NXP Semiconductors — dipilih sebagai pemenang. Semua lima finalis dianggap aman; desain berbasis sponge unik Keccak memberikan keragaman struktural yang NIST prioritaskan.
Konstruksi sponge: SHA-3 menyerap input ke dalam status 1600-bit (permutasi Keccak-f[1600]) dalam fase absorb, kemudian memeras bit output dari status dalam fase squeeze. Untuk SHA3-256, pembagian laju/kapasitas adalah 1088/512 bit. Karena hanya 256 dari 1600 bit status internal yang muncul dalam output, penyerang tidak dapat merekonstruksi status penuh dari hash — membuat serangan ekstensi panjang mustahil secara struktural. Ini kontras dengan SHA-256, di mana status internal penuh terekspos dalam output, memerlukan HMAC untuk mencegah ekstensi panjang.
SHA-3 vs. Keccak — perbedaan padding: NIST memodifikasi kiriman Keccak asli dengan mengubah padding pemisahan domain dari 0x01 menjadi 0x06. Ini berarti NIST SHA3-256 dan Keccak-256 asli menghasilkan output 64-karakter-hex yang berbeda untuk setiap input. Ini bukan kekhawatiran teoritis — ini mengapa keccak256 Ethereum (dibekukan sebelum FIPS 202 diselesaikan) berbeda dari output SHA3-256 alat ini untuk string yang sama. Jangan pernah gunakan alat ini untuk mereplikasi derivasi alamat Ethereum.
FIPS 202 mendefinisikan empat varian SHA-3: SHA3-224 (56 karakter hex), SHA3-256 (64 karakter hex), SHA3-384 (96 karakter hex), SHA3-512 (128 karakter hex). Alat ini mengimplementasikan SHA3-256, varian yang paling umum dan yang paling langsung sebanding dengan SHA-256.
Catatan library: SHA-3 belum ada dalam spesifikasi Web Crypto API browser (crypto.subtle hanya mendukung SHA-1, SHA-256, SHA-384, SHA-512). Alat ini men-lazy-load library JavaScript js-sha3 (~10 KB dikompresi) pada penggunaan pertama. Setelah satu unduhan tersebut, semua komputasi berjalan secara lokal di browser Anda — tidak ada data input yang pernah dikirim.
Kapan menggunakan SHA-3: protokol baru yang memerlukan keragaman struktural dari SHA-2; MAC berkunci tanpa pembungkus HMAC (KMAC128/256 per NIST SP 800-185); perlindungan pasca-kuantum sebagai cadangan SHA-2; kepatuhan dengan sistem yang mengamanatkan FIPS 202. Kapan tetap menggunakan SHA-256: dukungan library universal, akselerasi hardware (ekstensi SHA-NI), kompatibilitas protokol yang ada, dan sebagian besar kasus penggunaan integritas sehari-hari di mana SHA-256 sudah menjadi standar yang ditetapkan.
// SHA-3 (NIST FIPS 202 SHA3-256) using js-sha3 library
import { sha3_256 } from 'js-sha3';
const hash = sha3_256('Hello, World!');
// → '882f4b6991a775295186a4e3cc5ece9fc0b618c8c3e7a7beafdd0f56f13ae43b'
// Note: this differs from Ethereum's keccak256 for the same input:
// keccak256('Hello, World!') = 'acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f'
// The difference is the padding byte: 0x06 (SHA-3) vs 0x01 (original Keccak) Contoh SHA-3
Verifikasi vektor uji NIST FIPS 202
abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
SHA3-256("abc") = 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 — ini adalah vektor uji NIST FIPS 202 resmi. Tempel "abc" ke alat dan konfirmasi output persis ini untuk memverifikasi Anda menghitung NIST SHA-3 (bukan Keccak asli). Tes tunggal ini membedakan implementasi SHA-3 yang sesuai FIPS dari yang menggunakan byte padding Keccak lama.
Perbedaan Keccak vs SHA-3 — input sama, output berbeda
Hello
SHA3-256("Hello") dari alat ini (NIST FIPS 202) = 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22df86f0ab7e30e487e4500. keccak256("Hello") Ethereum = 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2. Input yang sama, output 64-karakter-hex yang berbeda. Perbedaannya adalah sufiks padding: NIST SHA-3 menggunakan 0x06 sementara Keccak asli (yang Ethereum bekukan pada 2013) menggunakan 0x01. Ethereum mendahului standardisasi NIST 2015 dan bercabang secara permanen dari varian FIPS 202.
Hash arsip pasca-kuantum
NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management
SHA3-256 memberikan ketahanan pre-image 128-bit terhadap algoritma Grover pada komputer kuantum — tingkat keamanan efektif yang sama dengan SHA-256 terhadap serangan kuantum. Untuk data yang harus tetap tahan manipulasi melampaui 2050, menggunakan SHA-3 bersama SHA-256 memberikan pertahanan berlapis: jika keretakan ditemukan pada konstruksi satu algoritma (Merkle-Damgård untuk SHA-2; sponge Keccak untuk SHA-3), yang lain tetap aman. Lihat SHA-256 Generator untuk sisi SHA-2 dari perlindungan ganda ini.
Autentikasi berkunci HMAC-SHA3-256
POST /api/ledger
{"amount":250000,"from":"acct-A","to":"acct-B"} HMAC-SHA3-256 adalah alternatif modern untuk HMAC-SHA-256 untuk autentikasi pesan berkunci. Karena konstruksi sponge SHA-3 secara alami tahan terhadap serangan ekstensi panjang, MAC berkunci SHA3-256 biasa (KMAC, didefinisikan dalam NIST SP 800-185) juga aman — tidak seperti SHA-256 mentah, yang memerlukan pembungkus HMAC untuk bertahan terhadap ekstensi panjang. Untuk API berassurance tinggi baru, HMAC-SHA3-256 (atau KMAC128) memberikan jaminan arsitektur yang lebih kuat.
Cara Membuat Hash SHA-3
- 1
Tempel teks ke kolom input
Pilih tab Teks dan ketik atau tempel string apa pun. Hash SHA3-256 diperbarui secara langsung saat Anda mengetik. Pada penggunaan pertama, library js-sha3 (~10 KB) diambil dan disimpan dalam cache — Anda mungkin melihat jeda singkat pada hash pertama; semua hash berikutnya instan. Algoritma sudah diatur ke SHA-3 (NIST FIPS 202 SHA3-256).
- 2
Salin output hex 64 karakter
Klik tombol Salin di samping hasil hash. String hex lowercase 64 karakter disalin ke clipboard Anda. Gunakan toggle Huruf Besar jika sistem target Anda memerlukan uppercase. Output ini cocok dengan yang dihasilkan implementasi SHA3-256 yang sesuai FIPS 202 mana pun — tetapi perhatikan bahwa berbeda dari keccak256 Ethereum untuk input yang sama.
- 3
Verifikasi dengan tab Bandingkan
Beralih ke tab Bandingkan dan tempel dua hash SHA3-256 secara berdampingan. Alat menggunakan perbandingan constant-time untuk melaporkan cocok atau tidak cocok tanpa membocorkan informasi timing. Berguna untuk memverifikasi vektor uji NIST CAVP, memeriksa manifes arsip, atau mengonfirmasi bahwa dua implementasi SHA3-256 menghasilkan output yang identik.
Detail Teknis
- Algoritma: konstruksi sponge Keccak-f[1600]
- SHA3-256 menerapkan permutasi Keccak-f[1600] (24 ronde operasi theta, rho, pi, chi, iota pada array status 5×5×64) dalam konstruksi sponge dengan rate=1088 bit dan capacity=512 bit. Input diserap dalam blok 136-byte (1088-bit); 256 bit output diperas. Pemisah domain FIPS 202 menambahkan 0x06 sebelum padding. Implementasi: NIST FIPS 202 (2015) bagian 6.
- Output: SHA3-256 secara default, 64 karakter hex (FIPS 202 juga mendefinisikan 224/384/512)
- Alat ini menghasilkan SHA3-256: selalu tepat 64 karakter heksadesimal (256 bit = 32 byte). NIST FIPS 202 juga menstandarkan SHA3-224 (56 karakter), SHA3-384 (96 karakter), dan SHA3-512 (128 karakter) — semua menggunakan permutasi Keccak-f[1600] yang sama dengan pembagian rate/capacity yang berbeda. Panjang output tetap terlepas dari ukuran input.
- Performa: js-sha3 yang di-lazy-load (~10 KB); ~150–400 MB/s di browser
- Tidak seperti rute SHA-2 (yang menggunakan Web Crypto API native browser), SHA-3 tidak ada dalam spesifikasi Web Crypto. Alat ini memuat library js-sha3 (~10 KB dikompresi) pada penggunaan pertama, lalu menyimpannya dalam cache. Throughput yang khas: 150–400 MB/s dalam JavaScript, versus 400–700 MB/s untuk SHA-256 melalui Web Crypto. Untuk hashing teks (kilobyte) perbedaannya tidak terasa.
- Standar: NIST FIPS 202 (2015), NIST SP 800-185 (KMAC), NIST IR 8105
- Distandarkan dalam FIPS 202 (Agustus 2015). NIST SP 800-185 (2016) mendefinisikan KMAC128 dan KMAC256 — fungsi MAC berkunci berbasis SHA-3 yang secara alami kebal ekstensi panjang tanpa pembungkus HMAC. NIST IR 8105 merekomendasikan varian SHA-3 untuk margin keamanan pasca-kuantum. Saat ini disetujui untuk semua tingkat kekuatan keamanan hingga 2030 dan seterusnya di bawah NIST SP 800-131A Rev 2.
Praktik Terbaik
- Jangan bingungkan SHA3-256 dengan keccak256 Ethereum
- Keduanya adalah algoritma yang berbeda dengan output yang berbeda untuk setiap input. Alat ini menghitung NIST FIPS 202 SHA3-256 (byte padding 0x06).
keccak256Ethereum menggunakan padding Keccak asli (0x01). Jika Anda menghitung hash alamat Ethereum, slot penyimpanan EVM, atau hasil Solidity keccak256(), Anda memerlukan alat khusus keccak256 — alat ini akan memberi Anda jawaban yang salah untuk kasus penggunaan tersebut. - Gunakan SHA-3 sebagai perlindungan ganda di samping SHA-256, bukan sebagai pengganti
- SHA-3 dan SHA-2 menggunakan desain yang secara struktural berbeda (sponge vs. Merkle-Damgård). Manifes hash ganda (SHA-256 + SHA3-256) memberikan pertahanan berlapis: jika keretakan kriptanalitis pernah ditemukan pada konstruksi satu keluarga, yang lain tetap aman. Untuk data arsip jangka panjang dan catatan pemerintah, NIST merekomendasikan mempertimbangkan pendekatan dual-algoritma ini. Untuk penggunaan sehari-hari, SHA-256 saja sudah lebih dari cukup.
- Gunakan KMAC daripada HMAC-SHA3-256 untuk desain MAC berkunci baru
- NIST SP 800-185 mendefinisikan KMAC128 dan KMAC256 — MAC berkunci yang dibuat khusus berdasarkan SHA-3. Karena konstruksi sponge secara alami kebal ekstensi panjang, KMAC tidak memerlukan pembungkus double-hashing yang diperlukan HMAC untuk keamanan. Untuk protokol baru yang memiliki fleksibilitas dalam pilihan algoritma MAC, KMAC128 (keamanan 128-bit) atau KMAC256 (keamanan 256-bit) lebih bersih dan sedikit lebih efisien dari HMAC-SHA3-256.
- Gunakan perbandingan constant-time saat memverifikasi hash SHA-3 dalam kode
- Saat membandingkan dua hash SHA3-256 dalam kode, selalu gunakan fungsi kesetaraan constant-time:
crypto.timingSafeEqual()di Node.js,hmac.compare_digest()di Python,subtle.ConstantTimeCompare()di Go. Kesetaraan string naif (=== atau ==) membocorkan informasi timing yang dapat memungkinkan penyerang merekonstruksi hash yang diharapkan byte-per-byte. Ini berlaku sama untuk SHA-3 dan semua fungsi hash lainnya. Tab Bandingkan alat ini sudah menggunakan perbandingan constant-time.
FAQ SHA-3
Apakah SHA-3 sama dengan Keccak?
0x01 sebelum padding; NIST SHA-3 (FIPS 202, 2015) menambahkan 0x06. Perbedaan satu byte ini berarti SHA3-256 dan Keccak-256 menghasilkan output 64 karakter yang berbeda untuk setiap input. Algoritma secara struktural identik — permutasi Keccak-f[1600] yang sama, konstruksi sponge yang sama. Ketika seseorang mengatakan "Keccak" dalam konteks Ethereum/blockchain, mereka hampir selalu bermaksud varian padding pre-FIPS asli, bukan NIST SHA-3. Mengapa Ethereum menggunakan keccak256, bukan SHA-3?
keccak256 Ethereum menggunakan padding Keccak asli (0x01), sementara SHA3-256 alat ini menggunakan padding NIST FIPS 202 (0x06). Jangan gunakan alat ini untuk mereplikasi derivasi alamat Ethereum atau hasil EVM keccak256 — Anda akan mendapatkan hasil yang salah. Apa itu konstruksi sponge?
Haruskah saya menggunakan SHA-3 alih-alih SHA-2?
Apakah SHA-3 lebih cepat dari SHA-256?
Seberapa panjang hash SHA-3 dari alat ini?
Apakah SHA-3 tahan kuantum?
Apakah data saya dikirim ke server saat menggunakan alat ini?
js-sha3 diambil sekali dari CDN, ~10 KB), semua hashing berjalan sepenuhnya di browser Anda dalam JavaScript. Buka DevTools → tab Network saat meng-hash teks — Anda akan melihat nol permintaan keluar yang membawa data input Anda. Tidak seperti alat SHA-2 di situs ini (yang menggunakan Web Crypto API bawaan browser), SHA-3 belum ada dalam spesifikasi Web Crypto, sehingga library JavaScript diperlukan. Unduhan library adalah satu-satunya permintaan jaringan; teks Anda tidak pernah meninggalkan halaman. Apa itu kompetisi SHA-3 NIST?
Apakah SHA-3 rentan terhadap serangan ekstensi panjang?
Alat Terkait
Lihat semua alat →JWT Decoder
Alat Keamanan
Dekode token JWT online dengan dekoder JWT gratis kami. Periksa header, payload, tanda tangan, kedaluwarsa, dan klaim secara instan. 100% browser — token Anda tidak meninggalkan perangkat. Tanpa pendaftaran, tanpa pelacakan.
MD5 Hash Generator & Alat Checksum File
Alat Keamanan
Hasilkan hash MD5, SHA-256, SHA-1 & SHA-512 secara online gratis. Hash teks atau file di browser Anda, verifikasi checksum dan salin hasil. Tanpa pendaftaran.
Generator Kata Sandi Acak Online — Kuat, Aman & Gratis
Alat Keamanan
Buat kata sandi acak yang kuat secara instan — gratis, tanpa pendaftaran, 100% di browser. Sesuaikan panjang & karakter, batch hingga 50 dengan analisis entropi.
SHA-1 Hash Generator (160-bit, Algoritma Usang)
Alat Keamanan
Hasilkan hash SHA-1 di browser — output hex 40 karakter, tanpa unggah. Algoritma usang untuk sidik jari Git, cek sertifikat lama, dan audit migrasi. Data tidak pernah meninggalkan perangkat Anda.
SHA-256 Hash Generator & Alat Checksum
Alat Keamanan
Hasilkan hash SHA-256 online gratis. Hash teks atau file di browser Anda, verifikasi checksum, dan salin output hex 64 karakter. Tanpa pendaftaran; data tidak pernah meninggalkan halaman.
SHA-384 Hash Generator (Hash Suite B TLS)
Alat Keamanan
Hasilkan hash SHA-384 online — output hex 96 karakter, kebal ekstensi panjang, sesuai NSA Suite B. Dipasangkan dengan AES-256-GCM di TLS. Semua hashing berjalan di browser Anda melalui Web Crypto API.