Pengertian Transformasi Data (Enkripsi,Encoding,Hashing)

Bismillah.

Saat ini masih cukup banyak programmer yang kurang paham perbedaan dari encode, encrypt dan hash. Berikut penulis coba menyimpulkan perbedaannya :

Encoding

Contoh Karakter : Base64

S8td0s5NTk/x4kZNHp6Ud9tyjAfQIiOywcFTFay+jfLUSJ9EaKcx4=

Tujuan encode adalah untuk merubah data sehingga data tersebut dapat digunakan oleh sistem lainnya secara benar dan aman, misalkan : Dapat dikirim via e-mail ataupun ditampilkan di halaman web. Metode ini bukan untuk menjaga kerahasiaan informasi, akan tetapi lebih mengarah untuk memastikan bahwa data dapat digunakan secara benar.

Encode merubah data ke dalam format yang berbeda menggunakan skema umum, sehingga data tersebut dapat dengan mudah di decode kembali. Metode ini tidak membutuhkan kunci khusus untuk mendecode data, hal yang dibutuhkan hanyalah algoritma yang digunakan untuk menencode data tersebut.

Contoh: Base64,  ASCII

Encryption

Contoh Karakter : RSA

RSA Example

Tujuan encryption adalah untuk merubah data agar dapat di jaga kerahasiaannya. misalkan untuk mengirim sebuah pesan rahasia yang hanya orang – orang tertentu saja yang bisa membacanya.  Metode ini tidak mengacu kepada usability (kemampuan untuk digunakan) akan tetapi lebih mengacu kepada kemampuan untuk memastikan data tersebut tidak dapat digunakan orang lain selain dari yang telah ditentukan.

Encryption merubah data ke dalam format lain dengan menggunakan skema (terbatas) atau bisa dikatakan hanya orang – orang tertentu saja yang bisa mereverse / membalikan data tersebut ke dalam bentuk normal teks. Untuk membukanya diperlukan fungsi cipher text, algoritma tertentu dan sebuah kunci.

Contoh : RSA, AES

Hashing

Contoh Karakter MD5 :

e10adc3949ba59abbe56e057f20f883e

Hashing sering dianggap sama dengan metode encryption maupun encode, akan tetapi sebenarnya metode tersebut berbeda satu sama lain. Tujuan hashing adalah untuk membuat / menambahkan inputan secara ‘sembarang’ yang akan menghasilkan karakter yang memiliki panjang yang tetap dan memiliki attribut sebagai berikut :

  1. Input yang sama selalu menghasilkan output yang sama.
  2. Beberapa input yang berbeda tidak harus menghasilkan output yang sama.
  3. Metode satu jalan input – output.
  4. Setiap modifikasi masukan yang diberikan akan menghasilkan perubahan drastis untuk hash.

Hashing is used in conjunction with authentication to produce strong evidence that a given message has not been modified. This is accomplished by taking a given input, hashing it, and then encrypting the sent hash with the recipient’s public key.

Hashing digunakan di dalam otentikasi untuk menghasilkan bukti kuat bahwa data sama sekali belum di ubah. Hal ini dilakukan dengan mengambil masukan yang diberikan, hashing, dan kemudian mengenkripsi hash dikirim dengan kunci publik penerima.

When the recipient opens the message with their private key they then hash the message themselves and compare it to the hash that was given encrypted by the sender. If they match it is an unmodified message.

Ketika penerima membuka pesan dengan kunci pribadi mereka, mereka kemudian hash pesan sendiri dan membandingkannya dengan hash yang telah diberikan diberikan oleh pengirim. Jika mereka cocok itu adalah pesan yang tidak dimodifikasi.

Contoh : SHA, MD5

Semoga bermanfaat,🙂

Referensi : http://danielmiessler.com/study/encoding_encryption_hashing/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s