Mendeteksi Foto yang Diedit dengan Sidik Jari SHA-256

SHA-256 secara sederhana: arti hasil cocok dan tidak cocok, mengapa foto kiriman lewat WhatsApp atau Messenger tak pernah cocok, dan cara membandingkan file.

Cara paling andal untuk mengetahui apakah sebuah file gambar sudah berubah sejak pertama kali direkam adalah membandingkan sidik jari SHA-256 kedua file: cocok berarti keduanya identik byte demi byte, tidak cocok berarti file sudah berubah. Namun “berubah” tidak sama dengan “dipalsukan”: cukup mengirim foto lewat WhatsApp atau Messenger sudah membuat hasilnya tidak cocok. Panduan ini menjelaskan SHA-256 dengan bahasa sederhana, apa yang dibuktikan dan tidak dibuktikannya, serta alur kerja yang bisa diandalkan dalam praktik.

Catatan: Artikel ini adalah informasi umum, bukan nasihat hukum. Cara menimbang bukti dalam suatu perkara adalah wewenang pihak berwenang terkait.

Apa itu SHA-256, dengan bahasa sederhana

Bayangkan SHA-256 sebagai mesin yang membuat sidik jari untuk sebuah file. Masukkan file apa pun, foto 3 MB atau video 2 GB, dan mesin ini mengembalikan untaian tetap sepanjang 64 karakter, misalnya yang diawali 9f2c1a…. Algoritmanya ditetapkan dalam standar NIST Amerika Serikat FIPS 180-4 dan dipakai di mana-mana, dari perbankan hingga unduhan software.

Ada tiga sifat penting:

  1. File sama, sidik jari sama. Berapa kali pun dan di komputer mana pun Anda menghitungnya, hasilnya untaian yang sama.
  2. Perubahan kecil, hasil yang sama sekali berbeda. Ubah satu piksel atau hapus satu baris metadata, dan sidik jari barunya tidak mirip sedikit pun dengan yang lama. Tidak ada istilah “hampir cocok”.
  3. Satu arah. Anda tidak bisa membangun ulang foto dari sidik jarinya, dan dalam praktik tidak ada yang bisa sengaja membuat file berbeda dengan sidik jari yang sama.

Diagram SHA-256: sidik jari file asli dicatat saat diunggah; file yang sama dikirim sebagai dokumen menghasilkan hash yang sama, sedangkan salinan yang dikirim ulang lewat aplikasi chat tidak cocok

Artinya, menyimpan 64 karakter saat foto masuk sudah cukup untuk mengecek di kemudian hari apakah suatu file benar-benar foto tersebut, tanpa perlu menyimpan atau mengirim ulang gambarnya.

Apa yang dibuktikan hasil cocok, dan apa arti hasil tidak cocok

Hasil Membuktikan Tidak membuktikan
Cocok File yang Anda pegang identik byte demi byte dengan file yang sidik jarinya disimpan Bahwa adegannya asli, atau bahwa tidak ada yang direkayasa sebelum pemotretan
Tidak cocok File berbeda dari aslinya dalam hal tertentu Bahwa seseorang sengaja mengubah isinya

Baris kedua itulah tempat orang sering keliru. File bisa berbeda dari aslinya karena banyak alasan yang tidak berbahaya:

  • Aplikasi chat mengompres ulang gambar. WhatsApp, Messenger, dan banyak aplikasi lain mengecilkan dan mengompres ulang foto yang dikirim sebagai “foto”.
  • Media sosial mengompres ulang dan menghapus metadata saat Anda mengunggah.
  • Tangkapan layar alih-alih mengirim file.
  • Memutar, memotong, atau mengatur kecerahan, sekecil apa pun, di aplikasi galeri.
  • Mengubah format, misalnya HEIC ke JPEG, atau “simpan sebagai” dari aplikasi penampil.

Jadi saat melihat hasil tidak cocok, pertanyaan yang tepat bukan “apakah ini palsu?” melainkan “lewat saluran apa saja file ini dikirim?”

Mengapa foto yang dikirim lewat WhatsApp atau Messenger tak pernah cocok

Untuk menghemat penyimpanan dan bandwidth, aplikasi pesan biasanya meng-encode ulang gambar JPEG: resolusi lebih rendah, kompresi lebih kuat, metadata lebih sedikit. Di mata, gambarnya terlihat sama, tetapi byte di dalamnya sama sekali berbeda, begitu pula SHA-256-nya.

Cara pengiriman Biasanya mempertahankan file asli? Perbandingan SHA-256
Sebagai “foto” di aplikasi chat Tidak, dikompres ulang Hampir pasti tidak cocok
Sebagai “file” atau dokumen di aplikasi chat Biasanya ya Biasanya cocok
Lampiran email Biasanya ya Biasanya cocok
File asli yang diunduh dari Google Drive atau OneDrive Ya Cocok
Tangkapan layar Tidak Tidak cocok

Kode QR yang tercetak pada foto biasanya tetap bisa dipindai setelah dikompres, sehingga penerima tetap bisa mengecek waktu pengambilan dan area meski perbandingan sidik jari gagal. Lihat verifikasi foto dengan QR.

Alur kerja perbandingan yang praktis

Jika Anda pengirim foto (kontraktor, teknisi, staf lapangan)

  1. Mengirim foto cepat lewat chat untuk kabar harian tidak masalah.
  2. Untuk foto yang penting (inspeksi, serah terima, klaim asuransi), kirim juga file aslinya sebagai file, lewat email, atau melalui folder bersama.
  3. Jangan memotong, memutar, atau mengedit sebelum mengirim file asli.
  4. Cantumkan kode SnapID di pesan Anda agar penerima bisa mencarinya dengan cepat.

Siapa pun bisa memverifikasi: setiap foto punya kode SnapID dan QR; penerima memindainya tanpa akun dan melihat waktu, area, serta tanda integritas, dan bisa membandingkan file dengan SHA-256

Jika Anda penerima foto (pemilik proyek, klien, manajer, perusahaan asuransi)

  1. Pindai kode QR atau buka halaman verifikasi dari kode pada foto.
  2. Cek waktu pengambilan, area, dan tanda integritas.
  3. Klik bandingkan dengan file saya dan pilih file asli yang Anda terima.
  4. Cocok: file utuh. Tidak cocok: cek apakah file melewati saluran yang mengompres, lalu minta file aslinya.
  5. Jika file asli yang dikirim lewat saluran tanpa kompresi tetap tidak cocok, tanyakan kepada pengirim dan perhatikan baik-baik gambar mini di halaman verifikasi.

Menghitung SHA-256 sendiri

Untuk pengecekan atau pencatatan Anda sendiri, alat bawaan sudah cukup:

  • Windows (Command Prompt): certutil -hashfile photo.jpg SHA256
  • macOS (Terminal): shasum -a 256 photo.jpg
  • Linux: sha256sum photo.jpg

Bandingkan hasilnya dengan untaian yang diberikan pengirim. Satu karakter yang berbeda berarti dua file yang berbeda.

Cara SnapID Mark memakai SHA-256

Saat foto SnapID Mark diunggah, server menyimpan sidik jari SHA-256 dari foto asli maupun foto berstempel. Halaman verifikasi publik menampilkan sidik jari tersebut bersama waktu pengambilan tepercaya, area yang dibulatkan, dan tanda integritas. Tombol “bandingkan dengan file saya” menghitung SHA-256 di dalam browser penerima, sehingga foto tidak diunggah, lalu mencocokkannya dengan nilai yang tersimpan. Halaman ini juga menjelaskan kasus kompresi ulang oleh aplikasi chat agar penerima tidak terburu-buru mengambil kesimpulan.

Halaman verifikasi publik untuk kode SnapID: SnapID valid, tanggal dan waktu pengambilan, area yang dibulatkan sekitar 1 km dengan tautan peta, ruang kerja, akun, dan item pekerjaan

Bersama-sama, ini memberi tiga lapisan: waktu tepercaya menyatakan kapan (lihat waktu tepercaya vs waktu ponsel), kode SnapID dan QR mengarah ke catatan yang independen, dan SHA-256 menyatakan apakah file masih utuh. Pelajari lebih lanjut di keamanan atau coba demo verifikasi.

Ingat bahwa ini adalah alat pengecekan teknis, bukan tanda tangan digital atau stempel waktu tersertifikasi. Foto berstempel waktu sebagai bukti di Vietnam membahas sisi itu lebih dalam.

Jika Anda perlu mengirim foto yang integritasnya bisa dicek sendiri oleh penerima, unduh SnapID Mark dan coba bandingkan file asli dengan salinan yang dikirim lewat chat.

FAQ

Apakah sidik jari SHA-256 mengungkap isi foto?

Tidak. Gambar tidak bisa dibangun ulang dari 64 karakter, jadi menampilkan sidik jari secara publik tidak membuka gambarnya.

Foto yang dikirim lewat aplikasi chat tidak cocok. Apakah palsu?

Tidak. Aplikasi chat mengompres ulang gambar yang dikirim sebagai “foto”, sehingga file berubah meski terlihat identik. Minta file asli yang dikirim sebagai file atau lewat email, lalu bandingkan file itu.

Saat saya membandingkan di halaman verifikasi, apakah foto saya diunggah?

Tidak. Browser Anda menghitung sidik jari di perangkat Anda, dan file gambar tidak pernah keluar dari perangkat itu.

Apakah hasil cocok berarti foto pasti asli?

Hasil cocok hanya membuktikan file identik dengan yang disimpan saat diunggah. Itu tidak membuktikan adegannya tidak direkayasa. Perhatikan juga waktu, area, dan tanda integritasnya.

Bisakah saya membandingkan PDF yang diekspor dari foto?

Jangan gunakan PDF untuk perbandingan, karena gambar di dalamnya adalah file yang berbeda. Bandingkan dengan file JPEG asli.