Thursday, April 2, 2015

md5

Algoritma hash MD5 sendiri menerima input berupa data dengan panjang bebas, dan menghasilkan output heksadesimal sepanjang 32 karakter. Jadi, seberapapun panjang data input, output yang dihasilkan akan selalu sepanjang 32 karakter. Perubahan sedikit saja di input akan mengubah output dengan drastis. Sebagai contoh:    
Bayangkan dalam satu pesawat umum terdapat dua kelas penumpang, yaitu kelas VIP dan kelas ekonomi. Prosedur dan proses security harus menjamin agar penumpang menempati tempat duduk sesuai haknya. Untuk itu penumpang harus menunjukkan bukti berupa tiket yang di situ tertera namanya. Kemudian dari daftar penumpang pramugari akan tahu bahwa anda berhak duduk di kelas VIP atau ekonomi. Bila anda memegang tiket ekonomi mencoba duduk di kelas VIP maka pramugari akan menolak anda. Apalagi bila anda tidak memegang tiket, mencoba naik pesawat itu, sudah pasti anda akan ditendang.
Input paragraf tersebut memiliki nilai hash:
Hexa:11ee98b599338ae66458f9b86ab4a6fb
Binary:00010001 11101110 10011000 10110101 10011001 00110011 10001010 11100110 01100100 01011000 11111001 10111000 01101010 10110100 10100110 11111011

Input di atas adalah teks sepanjang 578 karakter, sedangkan outputnya hanya 32 karakter, sangat timpang bukan? Mari kita lihat kalau inputnya hanya satu karakter saja, ‘X’, maka nilai hashnya adalah 02129bb861061d1a052c592e2dc6b383 atau dalam binary 00000010 00010010 10011011 10111000 01100001 00000110 00011101 00011010 00000101 00101100 01011001 00101110 00101101 11000110 10110011 10000011. Terlihat kan inputnya berapapun panjangnya, nilai hashnya tetap 128 bit atau 32 karakter hexa. Bahkan string kosong “” memiliki nilai hashnya sendiri sepanjang 32 karakter, yaitu 02129bb861061d1a052c592e2dc6b383. 

0 comments:

Post a Comment

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More