Home  ›  codes, senses

Dasar Kriptografi: Fungsi Hash

Fungsi Hash merupakan sebuah algoritma yang mengubah text atau message menjadi sederetan karakter acak yang memiliki jumlah karakter yang sama. Hash juga termasuk salah satu bentuk teknik kriptografi dan dikategorikan sebagai kriptografi tanpa key (unkeyed cryptosystem). Selain itu hash memiliki nama lain yang juga dikenal luas yaitu “one-way function”.

Kita sering sekali menjumpai hash di website-website yang menyediakan layanan untuk download file ataupun program secara resmi. Hash memang umumnya digunakan untuk mengecek integritas dari sebuah pesan atau file. File atau pesan yang sudah berubah akan memiliki nilai hash yang berbeda. Sebagai contoh, dengan sebuah algoritma hash, pesan 'hello' akan memberikan nilai hash 12345 sedangkan pesan 'hallo' memiliki nilai hash 83746. Dengan kata lain output hash dari kata 'hello' tidak akan sama dengan 'hallo'. Bahkan sekalipun dalam kacamata kita kedua pesan tersebut terlihat hanya memiliki perbedaan sedikit saja, namun nilai hash yang dimiliki oleh kedua pesan tersebut sangat jauh berbeda.

Berbeda dengan teknik enkripsi dalam kriptografi, tujuan hash memang mengubah sebuah pesan yang dapat dibaca (readable text) menjadi pesan acak (unreadable text) sama seperti enkripsi, namun hal mendasar yang menjadi perbedaan dari hash adalah pesan yang telah acak tadi tidak dapat diubah kembali menjadi pesan yang seharusnya. Inilah mengapa hash disebut juga sebagai “one-way function“.

Ketika pertama kali belajar konsep hash, enkripsi, dan dekripsi, saya mencoba bersikap kritis dengan mengambil hipotesis bahwa dengan algoritma yang tepat, hash pasti dapat dibalikkan (reverse). Dengan kata lain keyakinan saya terhadap dekripsi sebuah fungsi hash sangat besar. Namun, jreng-jreng… keyakinan saya tidak terbukti setelah Lecture Security Technology saya menjelaskan hal ini dengan baik sekali. Penjelasannya seperti ini:

Misalkan ada pesan ‘Hello’, pesan ini akan kita hash dengan algortima yang sederhana, yaitu pertama-tama huruf-huruf tersebut akan kita ubah kedalam bilangan angka.

  • a menjadi 1
  • b menjadi 2
  • c menjadi 3
  • dst…

Sehingga pesan 'hello' akan menjadi '8.5.12.12.15'. Kemudian kita jumlahkan bilangan-bilangan tersebut sehingga kata 'hello' akan menghasilkan jumlah 52.

h e l l o
8 + 5 + 12 + 12 + 15 = 52

Kemudian langkah terakhir adalah kita ambil satu digit yang paling belakang sebagai nilai hashnya, yaitu 2. Nah nilai hash 2 ini bukankah bisa dibuat dari banyak kombinasi huruf? jumlah huruf pun juga bisa bervariasi, tidak harus 5 seperti 'hello'. Berikut beberapa text yang memiliki hash 2.

Text Integer Sum Hash
bye 2.25.5 32 2
confidential 3.15.14.6.9.4.5.14.20.9.1.12 112 2
enemy 5.14.5.13.25 62 2
dlsb…

Perlu dicatat disini, bahwa tabulasi diatas adalah ilustrasi bagaimana hash dikatakan sebagai sebuah fungsi yang tidak dapat di dekripsi. Dalam contoh diatas hasil hash sudah sangat acak sehingga kita tidak dapat mengetahui lagi apakah sebuah hash yang ingin kita dekripsi memiliki kandungan huruf e atau z atau m atau lainnya.

Kegunaan

Menurut Kaufman et. al. (2002), Fungsi hash dapat digunakan sebagai:

  1. Menyimpan Password
  2. Sebagai Message Integrity
  3. Sebagai Message Fingerprint

Menyimpan Password

Password didalam sebuah sistem dianjurkan untuk disimpan dengan menggunakan fungsi hash. Dengan demikian administrator sistem tersebut sekalipun tidak akan dapat melihat atau menggunakan password user yang telah menjadi membernya. Hal ini akan memberikan impact yang baik kepada user bahwa baik sistem maupun administrator sangat menghargai privasi dari anggotanya.

Selain itu pula, jika database password pengguna, dengan cara tertentu dapat diakses oleh publik, maka siapapun tetap tidak langsung dapat menggunakan password tersebut. Untuk menggunakan password yang telah publicly accessible terlebih dahulu seorang hacker harus melakukan buteforce terhadap kumpulan password-password teresbut.

Message Integrity

Andaikata Alice ingin mengirimkan pesan kepada Bob. Untuk mencegah ada seseorang ditengah perjalanan yang ingin mengganti pesan tersebut, Alice melakukan hash terhadap pesannya sendiri yang kemudian dikirim bersama dengan pesannya yang asli. Namun, ternyata apa yang Alice lakukan tidak menjamin integritas keamanan pesan miliknya. Seseorang tetap dapat mengubahnya dan menyediakan fungsi hash dari pesan tersebut

Alice bermaksud mengirimkan pesan ‘Hello Bob’ kepada Bob. Alice kemudian mengirimkan pesan tersebut bersama dengan fungsi hash MD5 dari pesannya, yaitu b4c9c3086946666f7ec8014629e105f7. Alice mengirimkan pesan dan hash MD5 nya melalui jasa pengantar barang, TIKI. Ditengah perjalanan, Eve berhasil mencuri pesan Alice untuk Bob dari sang kurir TIKI. Eve membuat pesan baru yang berbunyi ‘Hello Honey’, membuat hash MD5 dari pesannya tersebut, dan mengembalikannya kedalam tas sang Kurir tanpa sepengetahuan sang Kurir.

Kurir yang baik hati tersebut memberikan pesan Alice tadi kepada Bob. Ketika Bob membacanya, Bob merasakan ada yang aneh terhadap pesan tersebut. Bob mengecek hash MD5 dari pesan yang dibacanya, namun pengecekan MD5 pesan yang diterima Bob dengan MD5 yang dikirim bersama paket tersebut cocok. Tapi apakah Bob tahu pesan yang bertuliskan ‘Hello Honey’ tersebut memang berasal dari Alice?

Dalam kasus ini tentu saja Bob tidak memiliki cara untuk mengetahui keabsahan pesan tersebut hanya dari paket yang berisi pesan dan MD5 yang katanya dikirim oleh Alice. Hal ini tidak akan terjadi jika Alice dan Bob menggunakan sejumlah karakter rahasia yang hanya diketahui oleh kedua orang tersebut. Karakter-karakter rahasia ini disebut juga dengan nama keyed hash. Penggunan karakter ini disebut sebagai message integrity, dimana cara pengunaannya adalah sebelum dilakukannya hash, Alice terlebih dahulu menggabungkan pesannya dengan karakter rahasia tersebut.

Jika pesan Alice adalah ‘Hello Bob’ dan karakter rahasia Alice dan Bob adalah 1234, maka hasil hash yang dibuat oleh Alice akan bernilai 508e1ae04417ccb03953aa2a320d1714. Jika Eve berhasil mencuri pesan Alice tersebut dan menggantinya dengan pesan miliknya sendiri, dan karena Eve tidak mengetahui karakter rahasia milik Alice dan Bob, Eve berasumsi bahwa MD5 yang dikirim oleh Alice tidak mengikutsertakan keyed hash sehingga ia hanya melakukan MD5 terhadap pesannya ‘Hello honey’ tersebut. Bob yang kemudian menerima pesan yang kata sang kurir berasal dari Alice mengecek integritas dari pesan yang katanya dari Alice tersebut dengan cara menambahkan keyed hash miliknya kedalam pesan yang diterima tersebut. Setelah dilakukan hash terhadap pesan 'Hello Honey1234' Bob dengan yakin dapat mengatakan bahwa pesan tersebut bukan berasal dari Alice.

Pesan Keyed Hash MD5
‘Hello Bob’ b4c9c3086946666f7ec8014629e105f7
‘Hello Honey’ e42afb241fceefa05e3e897fa0686f14
‘Hello Bob’ 1234 508e1ae04417ccb03953aa2a320d1714
‘Hello Honey’ 1234 7dc14667a10ce5116b50f4d8a7e1ad9c

Message Fingerprint

Penggunaan Hash sebagai sidik jari pesan (message fingerprint) digunakan untuk mengecek apakah file yang kita simpan masih sesuai dengan file asli ketika hash file tersebut dibuat dan belum berubah. Jika terdeteksi adanya file yang tidak memiliki hash yang sama dengan yang telah dibuat sebelumnya, maka dapat dipastikan bahwa file tersebut telah berubah. Contoh: Pada bulan Januari 2008 Alice memiliki file Bob.txt yang berisi profil mengenai Bob. Alice mengkomputasi hash dari file tersebut sehingga diperoleh:

MD5(Bob.txt)   --> f06defdef28e15706f974f6d080b57fe

Dua tahun kemudian Alice membuka kembali file Bob.txt tersebut dan mencurigai ada yang tidak lazim dari isi file tersebut. Alice kemudian membuat hash dari file Bob.txt tersebut dan mendapatkan nilai hashnya.

MD5(Bob.txt)  --> 5f3b147ae863e541701d7011e597e98b

Alice kemudian menyadari bahwa hash file Bob.txt pada Januari 2010 berbeda dengan hash pada bulan Januari 2008. Dengan demikian, dapat dipastikan bahwa seseorang telah mengubah file tersebut antara Bulan Januari 2008 hingga Januari 2010.

Ketidak cocokan message fingerprint tidak selama disebabkan karena ada manusia yang mengubah file ataupun pesan tersebut. Terkadang message fingerprint tidak cocok antara 2 waktu dapat disebabkan oleh transfer file yang gagal, sektor pada hardisk dimana sebuah file disimpan rusak, dan lain sebagainya. Jadi, tidak selamanya manusia dapat disalahkan juga..

Karakteristik

Dobbertin (1996) dalam artikelnya menyebutkan bahwa dalam membuat fungsi hash harus memenuhi beberapa kriteria berikut:

  1. Relative cepat dalam melakukan komputasi
  2. 2 buah pesan yang berbeda tidak boleh memiliki nilai hash yang sama
  3. Bebas dari serangan Birthday Attack (dari sebanyak 264 atau ~18 446 744 073 709 551 616 pesan kemungkinan besar didapat 2 pesan yang memiliki nilai hash yang sama)
  4. 2 Pesan yang memiliki sangat sedikit perbedaan harus memiliki nilai hash yang sangat berbeda (Kaufman et. al., 2002).

Algortima

Hash umumnya disajikan dalam bentuk bilangan hexadecimal, yaitu kombinasi antara angka 0-9 dengan huruf a hingga f. Beberapa algoritma hash yang terkenal dan masih sering digunakan hingga saat ini yaitu:

  • md5 (Message Digest 5)
  • SHA-1 (Secure Hash Algortihm 1)
  • SHA-2 (Secure Hash Algorithm 2), yang meliputi 4 fungsi hash:
    • SHA-224
    • SHA-256
    • SHA-384
    • SHA-512

Algoritma MD5 dikembangkan oleh seorang Professor MIT yang bernama Ronald L. Rivest. Istilah “MD” yang digunakan merupakan abrieviation dari Message Digest. Perkembangan MD5 telah melalui 5 kali revisi, dimana MD generasi pertama dan kedua di desain untuk membantu algoritma RSA dalam melakukan komputasi signature dari pesan rahasia yang akan dikirim dan dienkripsi oleh RSA. Generasi ke tiga dan empat MD hadir karena adanya persaingan dari algortima hash lain yang bernama SNEFRU, yang memiliki keunggulan kecepatan pada proses komputasinya dibandingkan MD2. Ketika ditemukan adanya celah keamanan dari SNEFRU pada tahun 1992, ditahun yang sama ditemukan pula kelemahan MD4, yang kemudian Profesor Rivest segera menambal kelemahan tersebut dan menggantinya menjadi generasi ke lima Message Digest, yaitu MD5. Dari kelima generasi ini, MD generasi pertama dan ketiga merupakan algoritma yang tidak dipublikasikan. Sementara spesifikasi algoritma MD2, MD4, dan MD5 terdapat dalam RFC1319, RFC1320, dan RFC1321.

Secure Hash Algoritm (SHA) dikembangkan oleh National Institute and Standard Technology (NIST) pertama kali pada tahun 1993. Generasi pertama SHA diberi nama SHA-0. Kemudian pada tahun 1995, generasi kedua SHA, SHA-1, muncul dan dipublikasikan oleh NIST dengan kode publikasi FIPS PUB 180-1. Generasi kedua SHA ini muncul dalam waktu 12 jam dari setelah dilaporkannya terdapat kelemahan dalam algoritma SHA-0. Generasi ketiga algortima SHA, SHA-2, dipublikasikan pada tahun 2001 dengan berbagai pilihan jumlah bit yang digunakan, yaitu: 224, 256, 384, dan 512. Baik SHA-1 dan SHA-2 pada dasarnya memiliki algortima yang serupa, hanya berbeda di jumlah karakter outputnya saja. SHA-1, SHA-256, dan SHA-516 memiliki jumlah karakter output masing-masing secara berurutan adalah 40, 32, dan 64.

Hash File

Bagaimana dengan hash untuk file? Selama beberapa saat saya pernah bertanya2, bagaimana sebuah file bisa dibuat hash nya. Kalau hash sebuah pesan tentu saja dapat dimengerti dengan mudah karena input dan outputnya adalah sama yaitu string atau text. Namun untuk file tentu saja berbeda, karena file bukanlah semata-mata text atau string akan tetapi sudah bercampur dengan informasi-informasi lainnya yang berkaitan dengan program untuk membuka file tersebut sekalipun output hashnya tetap dalam format string.

Jika diingat kembali tentang bahasa sebuah mesin yang terdiri dari bilangan biner 0 dan 1, baik itu text ataupun file sebenarnya dimata mesin tidak ada yang berbeda. Jadi dalam kacamata sebuah mesin (komputer) teks yang berbunyi Hello there dengan file hello.txt yang berisikan kata tersebut tidak akan tampak berbeda. Sehingga jika kita coba mengkonversi pesan 'hello there' yang diketik langsung dengan yang disimpan dalam bentuk file .txt akan menghasilkan nilai hash yang sama. Namun kita akan mendapatkan nilai hash yang berbeda jika kita menyimpan pesan tersebut kedalam file yang tidak memiliki format text seperti ekstension .rtf, .doc, .ppt, dan lain sebagainya. Jika ingin tahu dimana letak perbedaannya, anda dapat mengeceknya sendiri dengan mencoba membuka file tersebut dengan menggunakan text editor atau notepad. Jika anda mencoba untuk memaksa membuka file-file berformat non-text tersebut dengan text editor atau notepad, akan terlihat tidak hanya tulisan “hello there” yang akan terlihat, berbagaimacam karakter lain yang belum tentu dimengerti oleh kita juga akan terlihat. Berikut adalah file hello.doc yang saya buat dengan menggunakan Microsoft Word yang berisikan kata 'Hello There', dan saya buka ‘paksa’ dengan notepad.

Terlihat pada gambar diatas bahwa sebelum kata "Hello There" terdapat banyak sekali karakter-karakter yang rasanya sulit bagi kita untuk memahaminya. Akan tetapi bagi sang Aplikasi Microsoft Word, tentu saja tidak ada kesulitan untuk membaca karakter-karakter ‘ajaib’ itu.

Kemudian, berikut ini adalah perbedaan hash MD5 pesan “hello there” yang disimpan dalam berbagai macam format. Anda dapat mencobanya sendiri dengan mencoba menyimpan kata-kata 'hello there' (tanpa tanda kutip) kedalam sebuah file berekstensi .txt, .doc, atau .rtf, lakukan hash untuk filenya dan bandingkan dengan yang disajikan pada tabulasi berikut ini.

Jenis Pesan MD5
string 161BC25962DA8FED6D2F59922FB642AA
hello.txt 161BC25962DA8FED6D2F59922FB642AA
hello.doc C000EFAB8C1CBFFEAF87EE4893C2CCD5
hello.rtf D4F39E880AA6A8CD0FA11F0DF7775C81

Security Consideration

Tidak sembarang orang dapat membuat fungsi hash, dan tidak setiap algoritma fungsi hash dapat menjamin tingkat keamanan yang tinggi. Fungsi hash sendiri memiliki salah satu aturan yang menyatakan bahwa hasil nilai hash dari sebuah algortima hash tidak boleh ada yang sama. Contoh yang telah disebutkan diatas bukanlah sebuah algoritma hash yang baik karena dari sebuah nilai hash dapat diperoleh melalui berbagaimacam text.

Kemudian timbul pertanyaan apakah statement ini bertentangan dengan penjabaran contoh diatas mengenai hash yang tidak dapat didekripsi?

Jawabannya, sama sekali tidak bertentangan. Contoh diatas hanya sebagai ilustrasi bahwa algortima hash didesain sedemikian random sehingga tidak dapat di dekripsi. Sehingga memang, setiap nilai hash dari sebuah pesan akan sangat unik. jika kita mendapatkan informasi bahwa hash 9 terdiri dari 10 huruf, tentunya hal ini memberikan keuntungan bagi siapapun yang ingin mencoba mendapatkan pesan rahasia tersebut. Akan tetapi tetap yang dapat dilakukan adalah mencoba berbagaimacam kombinasi huruf sebanyak 10 buah, kemudian dilakukan hash terhadap macam-macam kombinasi huruf tersebut dan dicocokkan hasilnya. Inilah satu-satunya cara untuk mendapatkan pesan rahasia yang telah dihash. Inilah yang disebut dengan bruteforce, yaitu mencocokkan hash yang sebenarnya dengan hash-hash yang telah di generate dari berbagai kombinasi pesan.

Kemudian statement yang terakhir menjelaskan bahwa algortima yang didesain tidak dapat menghasilkan nilai hash yang sama dan identik. Nilai hash untuk ‘Hello’ harus berbeda dengan ‘Hallo’. Sekalipun terlihat sama dimata kita namun nilai hashnya harus jauh berbeda.

Selain itu fungsi hash juga memiliki karakteristik dimana sebuah message tidak boleh memiliki 2 hash yang berbeda untuk algortima yang sama. Jadi, komputasi hash MD5 dari pesan “hello there” harus tetap 161BC25962DA8FED6D2F59922FB642AA dan tidak boleh sedikitpun berubah.

Hingga saat ini, algoritma untuk fungsi hash tidak ada yang 100% aman. Dari kedua tipe hash yang populer digunakan, MD5 dan SHA-1, telah ditemukan cara untuk melawan hash ini. Menemukan kelemahan fungsi hash bukan berarti pesan yang telah di hash dapat direverse untuk mendapatkan pesan asli. Penemuan kelemahan atau vulnerability hash ini lebih kepada penemuan 2 message yang berbeda namun memiliki nilai hash yang identik/sama. Dan tentu saja memanfaatkan celah yang dimiliki oleh fungsi hash ini tidak sembarang orang bisa melakukannya.

Beberapa paper journal article yang membahas mengenai ini ditulis oleh Stevens et. al. (2009) dan Wang and Yu (2005). Tentu saja untuk membaca pemaparan kedua paper ini harus didukung dengan kemampuan matematika yang cukup kuat karena akan disajikan banyak sekali notasi matematika dan aljabar, karena memang pada prinsipnya Kriptografi adalah merupakan mathematical science.

Berbicara mengenai keamanan didalam sebuah fungsi hash tidak lepas dari sebuah fenomena unik yang disebut dengan The Birthday Problem. Birtday problem mengatakan jika ada pesan sebanyak yang terdiri dari n bits, maka dari sebanyak 2n/2 pesan akan diperoleh setidaknya satu pasang (2 buah) pesan yang memiliki nilai hash yang sama. Inilah yang menyebabkan semua fungsi hash memproduksi output minimal sebesar 128 bit (32 huruf). 32 huruf ini dapat dikatakan relatif aman, meskipun pada kenyataannya algortima yang masih banyak digunakan hingga saat ini (MD5 dan SHA-1, masing-masing 128 dan 160 bits) sudah ditemukan celah keamanannya.

Tools

Ada banyak sekali tool-tool untuk melakukan komputasi fungsi hash. Tanya mbah Google, pasti langsung diberikan listnya secepat kilat. Berikut ini adalah beberapa tools untuk melakukan komputasi hash baik terhadap sebuah pesan yang diketik langsung maupun hash untuk file. Untuk komputasional hash online, umumnya tidak dapat digunakan untuk melakukan hash terhadap file. Karena itu sangat direkomendasikan untuk menggunakan aplikasi hash offline/desktop.

Offline / Desktop

Online / Browser

Lets Play!

Cukup ngobrol seriusnya. saatnya bermaiiin… yay!

Demo kali ini akan memberikan sebuah program sederhana untuk melakukan hashing terhadap string/text yang dapat dibaca. Algoritma yang digunakan meliputi algoritma MD5, SHA-1, dan SHA-2. Selain itu pula, disiapkan sebuah konversi text ascii ke bilangan biner, dimaksudkan agar kita dapat memahami apa yang dibaca oleh mesin sebelum dilakukan hash terhadap text yang kita masukkan. Selamat Bermain!

Text
binary
md5
sha1
sha224
sha256
sha384
sha512

Tertantang?

Bisakah message ini di verifikasi integritasnya?

She sells sea shells on the seashore

md5  : 971c3b65a65cc85e8435b7e5412cf55d
sha1 : ec4b23b8c5c0cb83fe8dbf85b259977224c4b5ea

Referensi dan Bibliografi

Author

CodeInDesign.com is a web developer who based in Indonesia.
Its concern field is to merge the mental realm of code with the visual world of graphics.

Notes

This article is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License and protected by Copyscape. You can cite, quote, copy this article as long as you put the article's source and credit the author.
  • http://trieand.com trieand

    Seepp… dah nyoba nulis tadi…

    oh iya… emang jadinya gitu yak, kata sandinya ada yang lebih panjang dari aslinya? masih agak binun juga seh… tingkat tinggi nehh… :)

    • freelynx

      @trieand, inti dari fungsi hash itu sebenernya 2 hal: algoritma campur aduk dan memiliki jumlah karakter yang tetap. Jadi untuk md5 misalnya, jumlah karakter hasil hashnya pasti 32 huruf (coba deh itung kalo gak percaya :D ). Jadi berapapun karakter yang kita ketikkan di kolom text, pasti si md5 akan memproduksi 32 huruf.

      PS: jangan dibikin bingung sama kolom “binary” karena binary itu bukan fungsi hash

  • http://www.ada-akbar.com ada-akbar.com

    waduh…2 bingung bener. .

    kalo ga dari awal memang sulit memahaminnya ya :D

    • freelynx

      @ada-akbar.com, terima kasih banyak mas komentarnya. Memang, nulisnya aja juga sampe bikin garuk2 kepala. lebih mudah ditunjukkan langsung sepertinya ketimbang ditulis.

  • doy

    mas mau tanya nih,,,
    MD5 kan ada proses penambahan 64 bit, yang menyatakan panjang pesan semula, supaya menjadi kelipatan 512,, nah 64 bit itu yang saya tidak mengerti ..bisa tolong dijelaskan,,,mohon bantuannya.,,,,

    • http://codeindesign.com freelynx

      If I’m not mistaken, 64 bit itu adalah panjang message awal yang dikonversi kedalam binary. Jadi kalau message/pesan nya adalah:

      hello

      maka panjangnya adalah 5 huruf. nah angka 5 ini yang harus dikonversi kedalam bentuk satuan binary 64 bit, yaitu:

      00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000101

    • Anonymous

      If I’m not mistaken, 64 bit itu adalah total karakter message awal yang dikonversi kedalam binary. Jadi kalau message/pesan nya adalah:

      hello

      maka panjang atau total karakternya adalah 5 huruf. nah angka 5 ini yang harus dikonversi kedalam bentuk satuan binary (64 bit), yaitu:

      00000000 00000000 00000000 00000000
      00000000 00000000 00000000 00000101

      -Freelynx

  • http://www.facebook.com/rudhyhr Rudhy Dhz

    mas MD5 nya rencananya saya mau pasang di menu login di field passwd…kira2 bisa gak mas,,,
    jadi alur kerjanya saat user mngetikkan passwd dan di submit maka passwd yang dia ketik langsung terenkripsi….
    bisa gak mas kayak gt…

    • freelynx The Lynx

      Bisa tapi harus dengan bantuan javascript (saya mengasumsikan aplikasi yang dimaksud disini adalah web-based). Tapi saya tidak merekomendasikan cara tersebut, karena akan mempersulit diri sendiri.

      kalau rencana ini dilakukan untuk memproteksi aplikasi dari aktivitas sniffing, saya lebih merekomendasikan menggunakan teknologi https. lebih less effort.

  • http://www.facebook.com/people/Yayoe-Muchsin/1617693674 Yayoe Muchsin

    Mas bisa jelaskan cara kerja dan perhitungan SHA-1 ?

    • freelynx The Lynx

      konsep dan algoritma SHA-1 secara lengkap sudah disajikan didalam dokumen RFC3174: US Secure Hash Algorithm 1 (SHA1), bisa diakses di http://tools.ietf.org/html/rfc3174#section-6. Dalam dokumen tersebut juga sudah di lampirkan source code yang ditulis dalam bahasa C.

  • Thij3e

    wah..wah..
    tantangan’a bikin otak pnas..
    bisa d jlaskan om knp teks “She sells sea shells on the seashore” bisa menghasilkan md5 yg sma tpi sha-1 yg berbeda..?

    • freelynx The Lynx

      woopsi, keliru copy paste. sekarang udah bener. Thanx!

  • http://www.facebook.com/profile.php?id=100000024634582 Ridzky Chayank Tiwi

    Mas boleh minta referensi lengkap tentang SHA-512,, minim nih

About CodeInDesign

CodeInDesign is web developer based in Indonesia. We build clean, appealing, and functional interfaces which comply with the latest web standards.

About Us
• Our Services
Contact Us

UPDATE: We are not available for a long term web project right now.