Mengenal tentang Enkripsi, Hash, dan Encode

Mengenal tentang Enkripsi, Hash, dan Encode
Daftar Isi Artikel

Hallooo, Apakabr Sesuai judul, kali ini saya akan membahas tentang "Apa itu Enkripsi, Hash, dan Encode?". Apa mereka semua ber-arti sama? atau bagaimana yaaa...........

Oke, artikel ini gua buat untuk membantu kawan-kawan semua yang bingung untuk mengenalis jenis-jenis hash password yang biasanya kita temukan saat kita men-dump sebuah data hasil "SQL Injection" ataupun menjelajahi isi dari databasenya sebuah website. Tentu saja, seiring berkembangannya dan Majunya teknologi, Semua data yang bersifat sensitif ataupun data rahasia/privasi yang seharusnya dilindungi pasti tidak mudah untuk mendapatkannya begitu saja. Walaupun sudah kita dapatkan, namun pastinya data itu di enkripsi dengan bahasa-bahasa/tulisan aneh yang sebelumnya tidak kita kenali jenis apa ini.


Oke mari kita ke pokok bahasan.

Hash berkaitan erat dengan Enkripsi. Tentunya Hash dan Enkripsi memiliki pengertian berbeda. Mari kita simak.

Apakah sebenarnya yang dimaksud Hash itu Sendiri?

- Hash adalah hasil enkripsi dari sebuah password atau informasi yang dianggap penting.
Lalu, apa enkripsi itu?
- Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus ( http://id.wikipedia.org/wiki/Enkripsi ).

Ada beberapa tipe hash diantaranya: 

1. MD4 (Message-Digest algortihm 4)
– MD4 dibuat oleh Ronald Rivest pada Oktober 1990, MD4 adalah hash function yang dipakai sebelum MD5, namun karena banyaknya kelemahan MD4 membuatnya diganti oleh MD5.
– panjang 16 bytes (32 karakter)
– contoh : 31d6cfe0d16ae931b73c59d7e0c089c0

2. MD5 (Message-Digest algortihm 5)
– MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Pada tahun 1996 (http://id.wikipedia.org/wiki/MD5)
– digunakan di phpBB v2.x, Joomla versi dibawah 1.0.13 dan digunakan oleh beberapa CMS dan forum
– panjangnya 16 bytes (32 karakter)
– contoh : c4ca4238a0b923820dcc509a6f75849b

3. MD5($pass.$salt)
– Digunakan di WB News, Joomla versi 1.0.13 dan versi diatasnya
– panjang 16 bytes (32 karakter)
– hash yang satu ini dimulai dari hashnya duluan kemudian dilanjutkan oleh saltnya
– contoh : 6f04f0d75f6870858bae14ac0b6d9f73

4. MD5($salt.$pass)
– Digunakan di osCommerce, AEF, Gallery dan beberapa CMS lainnya
– panjang 16 bytes (32 karakter)
– hash yang satu ini dimulai dari saltnya duluan kemudian dilanjutkan oleh hashnya
– contoh : f190ce9ac8445d249747cab7be43f7d

5. Md5(md5($pass).$salt)
– Digunakan di vBulletin, IceBB dan cms lainnya
– panjang 16 bytes (32 karakter)
– contoh : 6011527690eddca23580955c216b1fd2

6. MD5(WordPress)
– Digunakan di wordpress
– panjangnya 17 bytes (34 karakter)
– hashnya dimulai oleh tanda $P$ kemudian dilanjutkan oleh sebuah karakter (karakter yg paling sering dipakai adalah huruf “B”) 
kemudian dilanjutkan oleh saltnya (8 karakter yg disusun secara acak, dalam contoh ini saltnya adalah “12345678″) lalu dilanjutkan oleh hashnya
– contoh : $P$B123456780BhGFYSlUqGyE6ErKErL01

7. MD5(phpBB3)
– Digunakan di CMS phpBB 3.x.x
– panjangnya 17 bytes (34 karakter)
– hashnya oleh tanda $H$ lalu dilanjutkan oleh sebuah karakter (karakter yg paling sering dipakai adalah nomor “9″), kemudian dilanjutkan dengan saltnya (8 karakter yg disusun secara acak, dalam contoh yg saya berikan saltnya adalah “12345678″) kemudian dilanjutkan oleh hashnya
– contoh : $H$9123456785DAERgALpsri.D9z3ht120

8. SHA-1(Secure Hash Algorithm)
– Diciptakan oleh National Institue of Standars and Technology atau U.S. Federal Information Processing Standard digunakan oleh beberapa CMS dan beberapa forum
– panjangnya 20 bytes (40 karakter)
– contoh : 356a192b7913b04c54574d18c28d46e6395428ab

9. SHA-256(Secure Hash Algorithm)
– hashnya dimulai oleh tanda $5$ kemudian dilanjutkan dengan saltnya (8 karakter yg disusun secara acak, dalam contoh yg saya berikan saltnya adalah “12345678″) lalu dilanjutkan oleh karakter “$” kemudian dilanjutkan oleh hashnya
– panjang 55 karakter
– contoh : $5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqi…

10. SHA-512(Secure Hash Algorithm)
– hashnya dimulai oleh tanda $6$ kemudian dilanjutkan dengan saltnya (8 karakter yg disusun secara acak, dalam contoh yg saya berikan saltnya adalah “12345678″) lalu dilanjutkan oleh karakter “$” kemudian dilanjutkan oleh hashnya
– panjang 98 karakter
– contoh : $6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEm…

Berikut adalah contoh dari sekian banyaknya HASH, dalam prosesnya 
HASH merupakan "One Way Hash" / Hash satu arah, jika sebuah plain-text atau text biasa sudah di Hash, maka untuk mengembalikannya, kita tidak bisa menggunakan sebuah fungsi. Jadi saat sebuah data sudah di Hash, maka hasil plain-text nya tidak dapat kita kembalikan, kecuali kita "Sendiri" tau, data apa yang di hash tadi.

Lalu Bagaimana sebuah website seperti (www.hashkiller.co.uk) bisa men-decrypt / memecahkan Hasil Hash MD5/lainnya, menjadi plain-text biasa?

Website penyedia decrypter online, memiliki sebuah database hasil Hash didalamnya, artinya. Ketika kita menginputkan sebuah Password Hash MD5, website ini nantinya akan mencocokan data apa yang sesuai dengan Hash tadi. Jika datanya cocok, maka akan di informasikan melalui Ouput, bahwa HASH xxxxx, berisi text "ANU". Data ini sudah disiapkan dalam database website penyedia decrypter Online tersebut.

Bisa Melalui cara "Brute Force" namun akan sangat lama, bahkan berhari-hari, untuk mencocokannya.

Oke Selanjutnya, kita ke "Encode".

Apa itu Encode?
- Encode tidak termasuk kedalam Hash ataupun Enkripsi.
- Encode merupakan suatu Perkara perubahan format / bentuk data. Tujuannya pun sama, mengubah sebuah plain-text biasa, menjadi rangkain code (bahasa aneh).

Yang membedakan Hash dengan Encode adalah dalam prosesnya, Sebuah Text yang ter-Encode, bisa dapat kita kembalikan lagi seperti semua dengan sebuah fungsi tertentu dalam setiap bahasa pemrograman. Contohnya:

Text: Agus Setya R
Base64: QWd1cyBTZXR5YSBS -> (Encode dengan fungsi php , base64_encode("Agus Setya R") )
Base64: aW5kb3hwbG9pdA==
Text: indoxploit -> (Decode dengan fungsi php, base64_decode("aW5kb3hwbG9pdA==") 

Artinya, sebuah Encode dapat kita kembalikan (decode) menggunakan sebuah fungsi bahasa program yang telah disediakan. Beda dengan Hash yang tidak dapat dikembalikan seperti semula menggunakan fungsi.

Berikut merupakan contoh dari Encode (link menuju kepada PHP Function):

1. base32
2. base64
3. str_rot13
4. gzdeflate


Untuk Encode dan Decode anda dapat mempelajarinya sendiri, karena pada masing-masing bahasa program penulisan fungsi dari encode dan decodenya berbeda-beda. Namun, hasilnya akan tetap sama.

Tambahan: https://drive.google.com/file/d/0B8QQwW_htu38ckUxUkNWQlJmWU0/view (Hash Algorithm Linux Password), bagi kalian yang ingin tau dan mengenal bagaimana linux men-Hash password kita.

Oke , sekian dulu bahasan dari saya.
Semoga menambah ilmu, dan yang pasti jangan malas untuk membaca :D, Ilmu itu mahal kawan hahaha, selagi ada manfaatkan lah yang gratis....

Artikel ini diolah dari sumber: http://www.binushacker.net/tipe-tipe-hash-enkripsi.html Lalu selebihnya, kita kembangankan agar menarik di baca....

Sumber : http://www.indoxploit.or.id/

★★★★