Encrypt adalah sebuah teknik memanipulasi data dengan menggunakan prosedur tertentu agar data tersebut tidak dapat dibaca oleh user / pemakai yang tidak berhak. Beberapa persamaan kata encrypt dapat dilihat pada gambar di bawah ini:
Metode encrypt yang paling sederhana pernah dicoba pada kegiatan sekolah “PRAMUKA” yaitu A=N dengan konsep:
ABCDEFGHIJKLM
NOPQRSTUVWXYZ
dari kode di atas maka encrypt dari kata “AKU” adalah “NXH”. Namun tentu saja encrypt model ini sangat sederhana dan memiliki banyak kelemahan. MySQL sebagai Database yang terpopuler saat ini memiliki teknik encrypt yang lumayan canggih. Mengapa demikian? sebab encryptsi pada MySQL membutuhkan sebuah SecretKey yang dapat ditentukan sendiri oleh pemakainya. Teknik ini hampir sama dengan Teknik Public-key Cryptosystems yang ilustrasinya dapat dilhiat pada gambar di bawah ini. sumber: http://www.uic.edu/depts/accc/newsletter/adn26/figure2.html
fungsi yang digunakan pada MySQL adalah fungsi ENCODE dan DECODE
ENCODE(text,csecretkey) -> DECODE(textencrypted,csecretkey)
(syaratnya field yang akan dibuat encrypt harus bertype BLOB)
contoh:
(1) Buatlah sebuah tabel dengan perintah seperti di bawah ini.
create table coba (kode blob not null) engine=myisam |
(2) tambahkan sebuah baris baru dengan perintah berikut
insert into coba (kode) value (encode("testing","MySecRET")); |
(3) tampilkan data dengan perintah:
select * from coba |
maka anda akan melihat isi field kode yang diencrypt (tidak terbaca karena telah dikodekan)
(4) cobalah menampilkan data dengan perintah di bawah ini.
select decode(kode,"MySecRET") as akode from coba; |
maka otomatis data dapat dibaca kembali.
untuk informasi lebih lengkap silahkan baca manual mysql. Selamat mencoba….
Thank you for this..I am sure of visiting for the next time..