Tutorial Lanjutan MD5SUM

Kembali ke Lab 02

  • Sebelumnya kita sudah mempelajari cara generate MD5SUM dan MD5SUM.asc. Kita coba membuat MD5SUM dari berkas-berkas yang telah kita buat hari ini.
    $ md5sum * > MD5SUM
    $ md5sum -c MD5SUM
    $ gpg --output MD5SUM.asc -ba MD5SUM
    $ gpg --verify MD5SUM.asc
  • Perintah di atas akan menghasilkan dua berkas baru, yaitu berkas MD5SUM dan berkas MD5SUM.asc. MD5SUM berisi list md5sum berkas-berkas yang kita tambahkan, bisa kita lihat via vi ($ vi MD5SUM) atau, karena kita tidak ingin mengubah berkasnya, via perintah cat.
    $ cat MD5SUM

    80c78042d3b13812599fe2c6c3157234  1202000818.txt
    ed3aedc89500cc2bc53dad9780337532  myself.txt
    1f8640efff1b3c45acc2bc5f15978033  cobaawk
    97803349e3ac93dad97803370c285802  cobased
    36d1adb16275284b36c6412fb5b13550  cobahello
    2bbeb5352ab4f88fdfc9bc203e415b73  cobahello.c
    4273eacc2bc5f155eaa81cc5ce6d121f  cobapointer
    9df592a03812599fe2c6acc895002371  cobapointer.c
    9ccbcac315727e689e7e8c3416ec5886  coba-awk
    f15e7a9e80019b80c78042d3b1e8696a  cobapointer.txt
    8670577ffbacc4499a20b6b9df6fc9c3  coba-2
    7040e83e5103fac02e1664b4d557d4dd  coba-3
    2fab3e773bb57f93dd5e44a8925aa92c  coba-4
    cf6f5ef57db6e99a3e50b17c23c36434  coba-5
    e7275cadaed3aed374e5e7fb0738d49d  cobastruct
    a9149e3ac93dad978033741b38ee68a0  cobastruct.c
    9f083c6104e6ac96ddeca398e9b15da3  cobastruct.txt
    36d1adb16275284b36c6412fb5b13550  a.out
  • Berkas MD5SUM.asc juga dapat dilihat via perintah cat.
    $ cat MD5SUM.asc

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.10 (GNU/Linux)
    
    iF4EABEIAAYFAk9F7rcACgkQkNMc5KEBoqFHVAEAh/rn2PvWnxKRqic6aiH9jDlB
    cH03naNVXtSWMMNHh6cA/0hocCGGA5sVbK3O9fWH1dNr7FkwAyD6SIiOacTH3wVz
    =mrql
    -----END PGP SIGNATURE-----
  • Yang perlu diperhatikan adalah, MD5SUM dan MD5SUM.asc adalah signature berkas dan signature anda sendiri untuk berkas yang anda daftarkan saat itu. Karena itu apabila kita mengubah berkas yang didaftarkan di MD5SUM, kita harus generate ulang MD5SUM karena signature berkas akan berubah. Misalkan kita mengubah berkas cobahello.c dan menambahkan koma di antara kata "Hello World!\n" menjadi "Hello, World!\n".
    $ vi cobahello.c

    #include <stdio.h>
    
    int main ()
    {
      printf ("Hello, World!\n");
    }
    

    [Esc]
    :wq
    $ gcc -o cobahello cobahello.c
    $ ./cobahello

    Hello, World!
  • Setelah kita melakukan perubahan tersebut, kita coba jalankan lagi verifikasi MD5SUM
    $ md5sum -c MD5SUM

    1202000818.txt: OK
    myself.txt: OK
    cobaawk: OK
    cobased: OK
    cobahello: FAILED
    cobahello.c: FAILED
    cobapointer: OK
    cobapointer.c: OK
    cobapointer.txt: OK
    coba-awk: OK
    coba-2: OK
    coba-3: OK
    coba-4: OK
    coba-5: OK
    cobastruct: OK
    cobastruct.c: OK
    cobastruct.txt: OK
    a.out: OK
    md5sum: WARNING: 2 of 18 computed checksums did NOT match

    Dapat diperhatikan bahwa verifikasi untuk berkas cobahello.c dan cobahello statusnya berubah menjadi FAILED. Karena itu setiap selesai mengubah berkas, anda harus generate ulang berkas MD5SUM.
    $ md5sum NPM.txt myself.txt c* a* > MD5SUM

    Ganti NPM dengan NPM anda!
    Sehingga isi list berkas di berkas MD5SUM yang ada adalah berkas paling terakhir dan verifikasi kembali menjadi valid.
    $ md5sum -c MD5SUM

    1202000818.txt: OK
    myself.txt: OK
    cobaawk: OK
    cobased: OK
    cobahello: OK
    cobahello.c: OK
    cobapointer: OK
    cobapointer.c: OK
    cobapointer.txt: OK
    coba-awk: OK
    coba-2: OK
    coba-3: OK
    coba-4: OK
    coba-5: OK
    cobastruct: OK
    cobastruct.c: OK
    cobastruct.txt: OK
    a.out: OK
  • Ketika anda generate ulang berkas MD5SUM, berkas MD5SUM.asc menjadi tidak valid karena didasarkan atas berkas MD5SUM yang lama, sehingga ketika kita menjalankan program validasi gpg:
    gpg --verify MD5SUM.asc

    gpg: Signature made Thu 23 Feb 2012 02:45:59 PM WIT using DSA key ID A101A2A1
    gpg: BAD signature from "Ramot Stephanus (OS) <rast20@ui.ac.id>"

    Dapat diperhatikan bahwa verifikasi signature anda statusnya berubah menjadi BAD signature. Karena itu setiap kali mengubah berkas MD5SUM, anda harus generate ulang berkas MD5SUM.asc.
    $ gpg --output MD5SUM.asc -ba MD5SUM
    Isi password anda
    Ketik y lalu [Enter] untuk overwrite berkas.

    Sehingga signature di MD5SUM.asc kembali menjadi Good signature.
    gpg --verify MD5SUM.asc

    gpg: Signature made Thu 23 Feb 2012 02:50:13 PM WIT using DSA key ID A101A2A1
    gpg: Good signature from "Ramot Stephanus (OS) <rast20@ui.ac.id>"
  • Karena itulah di setiap tutorial, pembuatan MD5SUM dan MD5SUM.asc dilakukan terakhir sebelum commit ke svn, agar anda tidak perlu generate ulang setiap kali melakukan perubahan berkas.
  • Demikian akhir Tutorial Lanjutan MD5SUM.

Kembali ke Lab 02
Kembali ke Wiki