Adfaft

How to Series - RHash sebagai program menghitung hash

Table of Content

Reference

Summary

RHash adalah aplikasi berbabasis command line untuk menghitung / verifikasi hash file.

Personal Opinion

RHash dibutuhkan jika ingin menghitung / verifikasi hash programmatically. Contoh, recursive di dalam suatu folder hingga subfolder.

Jika hanya ingin menghitung / verifikasi satu file saja, bisa menggunakan fitur yang ada di OS masing-masing atau aplikasi yang biasa ter-install seperti 7z.

Kenapa membutuhkan RHash? tujuannya untuk backup file, verifikasi dari file corrupted seperti bit-rot atau sekedar DataHoarder.

RHash hanya memverifikasi validnya suatu data, tidak bisa restore data yang corrupt. Jika ingin restore data yang corrupt, bisa gunakan :

Prerequisites

How to

create checksum

rhash -rCP --accept=[ext,ext] [src directory] > [filehash-output.sfv]

# -r : recursively
# -C : create hash dengan algoritma CRC32
# -P : show percentage
# --accept : extensions list to be accepted to be rhash 

example : rhash -rCP --accept=".iso,.img" . > checksum.sfv

allternatif lain selain CRC32,

Update Hash

hash -rCP --update=[filehash-output.sfv] --accept=[ext,ext] [directory]

# silahkan gunakan -M, -H, --sha412 sebagai pengganti -C untuk algoritma checksum

example : `rhash -rCP --update=checksum.sfv --accept=".iso,.img" .

Validate Hash

rhash -c [filehash-output.sfv]
# -c : check file hash

rhash -c --ignore-missing [filehash-output.sfv]
# --ignore-missing : akan ignore jika file sudah tidak ada dari list filehash-output.sfv. Jika tidak ada parameter ini, akan mengeluarkan daftar file termasuk yang missing

rhash -c --skip-ok [filehash-output.sfv]
# --skip-ok : hanya menampilkan file bermasalah

example rhash -c --ignore-missing chcksum.sfv

List Unverified (new) file

rhash -r --unverified=[filehash-output.sfv] --accept=[ext,ext] [directory]

example : rhash -r --unverified=checksum.sfv --accept=".iso,.img" .

List Missing file

rhash -r --missing=[filehash-output.sfv] --accept=[ext,ext] [directory]

example : rhash -r --missing=checksum.sfv --accept=".iso,.img" .

Create Embedded CRC32 checksum in filename

akan mernambahkan crc32 ke filename menjadi filaneme [crc32].ext

rhash -e [file]

example : rhash -e myfile.txt atau rhash -e *.txt

Verify Embedded CRC32 checksum in filename

rhash -k [file_with_crc32_in_filename]

example rhash -k myfile [76A3EB2C].txt atau rhash -k *.txt

Other Reading

Footnote