October 8, 2017

Perbedaan Hashing Encoding dan Enkripsi

Perbedaan Hashing Encoding dan Enkripsi. Assalamualaikum wr wb, setelah lebih dari satu bulan tidak menulis artikel baru dalam blog ini karena dengan berbagai kesibukan. Kali ini saya akan mengangkat tema perbedaan hashing, encoding dan enkripsi. Mungkin banyak temen-temen yang belum begitu paham atau menganggap bahwa hashing, encoding dan ekripsi merupakan hal yang sama. Tetapi yang perlu di ketahui bahwa pada ketiga hal tersebut memiliki perbedaan yang mendasar dalam cara kerjanya,

Langsung saja tanpa basa basi, saya mulai jelaskan mulai dari hashing.

Perbedaan Hashing Encoding dan Enkripsi

Hashing

Hashing merupakan metode untuk mengubah sebuah string atau data dalam sebuah kode yang ditujukan untuk merahasiakan data dan berjalan dalam 1 arah. Artinya kita tidak dapat melihat nilai atau data aslinya, kecuali dengan mencocokan data antara karakter yang sudah di hashing dengan karakter yang sudah di hashing lainnya. Terdapat beberapa algoritma populer yang sering dipakai pada hashing, seperti MD5, SHA1, dan Whirlpool.

Berikut adalah contoh menggunakan hashing dengan beberapa algoritma di PHP.

<?php
echo hash('sha1', 'mari belajar pemrograman');

echo hash('md5', 'mari belajar pemrograman');

echo hash('whirlpool', 'mari belajar pemrograman');
?>
Perbedaan Hashing Encoding dan Enkripsi

Perbedaan Hashing Encoding dan Enkripsi

Encoding

Encoding merupakan sebuah metode untuk merubah bentuk atau format data. Tujuan dari encoding adalah supaya data yang dimaksud dapat dipakai pada system yang lain tetapi tidak ditujukan untuk merahasiakan data. Kita dapat dengan mudah mengetahui data aslinya dengan fungsi decode nya. Beberapa contoh dari encoding adalah ASCII dan base64.

Berikut adalah contoh penggunaan encoding dan decoding dengan PHP.

<?php
echo base64_encode('mari belajar pemrograman');
echo base64_decode('bWFyaSBiZWxhamFyIHBlbXJvZ3JhbWFu');
?>
Perbedaan Hashing Encoding dan Enkripsi

Perbedaan Hashing Encoding dan Enkripsi

Enkripsi

Enkripsi merupakan sebuah metode untuk merahasiakan data sehingga kita tidak akan bisa membaca nilai atau data aslinya tanpa menggunakan key atau kunci. Contoh algoritmanya adalah blowfish.

Berikut adalah contoh penggunaan enkripsi dan dekripsi dengan menggunakan blowfish.

<?php		
function encrypt($string, $key) {
   $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
   $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, utf8_encode($string), MCRYPT_MODE_ECB, $iv);
   return $encrypted_string;
}

function decrypt($encrypted_string, $key) {
   $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
   $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $encrypted_string, MCRYPT_MODE_ECB, $iv);
   return $decrypted_string;
}
?>

Untuk menggunakannya seperti contoh di bawah, pada parameter kedua merupakan privat key nya. Anda bisa menseting key ini sesuai dengan selera temen – temen.

<?php
encrypt("mari belajar pemrograman", "blablabla");

decrypt($encrypted_string, "blablabla")
?>

Hasilnya kurang lebih seperti berikut.

Perbedaan Hashing Encoding dan Enkripsi

Perbedaan Hashing Encoding dan Enkripsi

Sekian pembahasan mengenai perbedaan hashing encoding dan enkripsi. Semoga setelah membaca artikel ini, anda bisa memahami perbedaan antara ketiganya. Terus belajar dan berusaha, Terimakasih.

Agus Wiji Suhariono

Memulai menulis Blog pada bulan November dari Tahun 2015. Penulis merupakan alumni dari Politeknik Negeri Malang angkatan 2011 Program Studi Manajemen Informatika, Jurusan Elektro. Penulis memulai menekuni dunia programming mulai tahun 2014 dan sekarang bekerja di Pemerintahan sebagai IT Staff.

You may also like...

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO