0Pricing
Cryptology Academy · Pelajaran

Penerapan Hash: Checksum, HMAC, dan Git

Lihat penggunaan hash dalam penyimpanan kata sandi, integritas data, dan pengendalian versi.

Penerapan Hash: Checksum, HMAC, dan Git adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

Fungsi hash memiliki tiga peran penting dalam sistem nyata: memverifikasi integritas data (nilai pemeriksaan), mengautentikasi pesan (HMAC), dan melacak riwayat kode (Git).

Nilai Pemeriksaan Berkas

Saat mengunduh perangkat lunak, penyedia memublikasikan hash SHA-256. Setelah mengunduhnya, Anda menghitung hash tersebut lalu membandingkannya: sha256sum ubuntu-24.04.iso # Harus sama persis dengan nilai yang dipublikasikan

Integritas Data dalam Penyimpanan

Basis data seperti ZFS dan Btrfs menghitung nilai pemeriksaan SHA-256 untuk setiap blok data. Saat dibaca, nilai pemeriksaan tersebut diverifikasi. Kerusakan disk yang tidak terlihat dapat terdeteksi secara otomatis.

Penyimpanan Beralamatkan Konten

Git, IPFS, dan Docker menggunakan penyimpanan beralamatkan konten: nama setiap objek adalah hash-nya. SHA-256(content) = ID unik. Konten identik disimpan satu kali, dan duplikat langsung terdeteksi.

Penggunaan SHA-1 (dan SHA-256) oleh Git

Setiap commit, pohon, dan blob Git memiliki hash SHA-1. Hash commit mencakup: konten + metadata + hash induk. Perubahan satu bit pun akan mengubah hash, sehingga riwayat dapat menunjukkan adanya manipulasi.

Konstruksi HMAC

HMAC-SHA256(key, msg) = SHA256((key' XOR opad) || SHA256((key' XOR ipad) || msg)) Konstruksi hash ganda dengan bantalan XOR mencegah serangan perluasan panjang terhadap MAC berkunci.

HMAC dalam Python

import hmac, hashlib def create_mac(key: bytes, msg: bytes) -> str: return hmac.new(key, msg, hashlib.sha256).hexdigest() mac = create_mac(b'secret', b'Hello!')

Perbandingan Waktu Konstan

Selalu bandingkan HMAC menggunakan hmac.compare_digest(), NOT ==. Serangan pengaturan waktu: perbandingan yang berhenti lebih awal membocorkan panjang bagian yang cocok. hmac.compare_digest membandingkan semua byte dalam waktu konstan.

HMAC dalam Autentikasi API

Webhook GitHub: setiap muatan ditandatangani dengan HMAC-SHA256 menggunakan rahasia bersama. Terima webhook → hitung HMAC → bandingkan dengan header X-Hub-Signature-256.

Verifikasi Kata Sandi dengan Hash

Alur masuk: pengguna mengirimkan kata sandi → server menghitung hash → membandingkannya dengan hash yang tersimpan. Server tidak pernah mendekripsi; server menghitung ulang hash lalu membandingkannya. Hash yang tersimpan tidak pernah mengungkapkan kata sandi.

Penerapan Pohon Merkle

Pohon Merkle membangun pohon hash di atas data. Blok Bitcoin berisi akar Merkle dari semua transaksi. Certificate Transparency menggunakan pohon Merkle untuk log audit yang dapat menunjukkan adanya manipulasi.

Pemeriksaan Singkat

Mengapa perbandingan HMAC harus menggunakan hmac.compare_digest(), bukan ==?

Rangkuman

Bagus! Anda telah menerapkan hash dalam berbagai situasi nyata. Selanjutnya, kita mempelajari AES lebih dalam—standar enkripsi simetris yang paling banyak digunakan di dunia.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penerapan Hash: Checksum, HMAC, dan Git” gratis?

Ya — teks lengkap “Penerapan Hash: Checksum, HMAC, dan Git” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penerapan Hash: Checksum, HMAC, dan Git”?

Lihat penggunaan hash dalam penyimpanan kata sandi, integritas data, dan pengendalian versi. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Penerapan Hash: Checksum, HMAC, dan Git” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Ciri-ciri Fungsi Hash yang Baik
  2. MD5: Sejarah, Penggunaan, dan Alasan Kerusakannya
  3. Penjelasan Keluarga SHA-1 dan SHA-2
  4. Penerapan Hash: Checksum, HMAC, dan Git
← Kembali ke Cryptology Academy