Enkripsi adalah
proses mengamankan suatu informasi dengan membuat informasi tersebut tidak
dapat dibaca tanpa bantuan pengetahuan khusus.
Keuntungan dari enkripsi adalah kode asli kita tidak dapat dibaca oleh orang lain.
Keuntungan dari enkripsi adalah kode asli kita tidak dapat dibaca oleh orang lain.
Ada banyak fungsi
enkripsi yang ada di PHP. Enkripsi untuk melindungi script maupun output dan
untuk randomize dalam pembuatan sesuatu. Setidaknya ada 6 jenis
enkripsi yang tersedia di PHP. Bisa di dekripsi balik maupun tidak. Itu adalah
:
CRC
32
MD5
Crypt()
SHA1
str_rot13
BASE
64
Diantara itu semua,,
str_rot 13 dan base 64 yang bisa di decrypt/decode biar bisa dibaca
normal lagi.
CRC
32
CRC32 ini biasa dipakai
untuk checksum file download selain dengan metode md5. Untuk crc32 ini
biasanya output-nya berupa file integer dan tidak jarang pula hasilnya
adalah negative. Jadi bisa digunakan untuk meng-enkripsi dalam bentuk yang singkat.
Tidak bisa di dekripsi balik. Syntaxnya :
$kata = "Hello
World!";
echo(crc32($kata));
?>
MD5
Ini termasuk enkripsi
yang lumayan panjang lah! Dan termasuk yang divaforitkan untuk
meng-enkripsi semacam data-data penting seperti password dan lain-lain. Dengan
sifatnya yang panjang (lebih dari 10 karakter), maka akan sulit di deskripsikan
(walaupun sekarang katanya udah ada yang bisa deskripsikan!) dan ditebak makna
sebenarnya. Syntaxnya tergolong gampang :
$kata = "Hello
World!";
echo(md5($kata));
?>
Crypt()
PHP mempunyai fungsi
standar yang mencakup banyak metode enkripsi, dikutip dari sumber resminya :
The standard DES-based
encryption crypt() returns the salt as the first two characters of
the output. It also only uses the first eight characters of str , so
longer strings that start with the same eight characters will generate the same
result (when the same salt is used).
jadi ada beberapa
metode pengecekan yang bisa dilakukan fungsi ini. Contoh :
$pass =
crypt("alfa21");
if(crypt("alfa21")
== $pass){
echo"Passed";
}
?>
Emang hasilnya
pasti Passed tapi setidaknya bisa direpresentasikan.
SHA1
Enkripsi ini
mirip-mirip sama md5. Bisa dikatakan juga ini “adiknya” md5 yang sama
panjangnya. Selain itu, ada salt-nya juga bisa ditambahkan. Syntaxnya :
$kata = "Hello
World!";
echo(sha1($kata));
?>
str_rot13
Ini salah satu fungsi
di PHP yang “mudah” ditebak deskripsinya pake mata telanjang dan mudah dibaca.
Di wikipedia juga ada cara untuk deskripsi metode ini. Dalam str_rot13 ini
semua huruf akan di enkripsi kecuali karakter numerik/angka, cocok dipakai
untuk keamanan tingkat sederhana. Syntaxnya :
$kata = "Hello
World!";
echo(str_rot13$kata));
?>
BASE
64
Untuk ini,, ada 2
metode dan perintah di PHP. Yang 1 untuk mengenkripsi, dan yang 1 untuk
mendeskripsi dengan perintah yang berbeda pula. Menurutku, inilah metode yang
pas untuk emngenkripsi query yang ada di database, mengingat mudah
dan cepatnya proses eksekusi. Tapi untuk website berkeamanan tinggi, saya tidak
menganjurkan untuk dipakai dalam menyimpan password.
Mungkin inilah salah
satu enkripsi yang sangat unik dalam penggabungan huruf kecil dan besarnya.
Satu karakter yang berbeda saja akan berakibat hasil yang berbeda dalam penggunaan
karakternya. Selain itu dalam jumlah banyak, maka otomatis akan
men generate tanda sama dengan di akhir enkripsi. Syntaxnya juga
sederhana :
$kata = "Hello
World!";
$encode =
base64_encode($kata); //enkripsi
$decode =
base64_decode($encode); //dekripsi
echo
"$decode";
?>
Hal yang pertama kali
harus dilakukan untuk dapat menggunakan metode enkripsi di PHP adalah,
Mengaktifkan konfigurasi m_crypt di file php.ini. Ada dua file
yang harus di konfigurasi ulang.
Menggunakan xampp
1. php.ini di
lokasi c:/xampp/apache/bin
2.php.ini di
lokasi c:/xampp/php/
Cari baris
kode ;extension=php_mcrypt.dll kemudian hapus karakter ‘titik koma’ (;)
sehingga menjadi extension=php_mcrypt.dll. Jangan lupa untuk me-restart
xampp sehingga fungsi enkripsi di php dapat digunakan.
Cara menambahkan
enkripsi password MD5
Halaman Insert Record
Pada halaman ini,
biasanya Anda memasukkan data Administrator termasuk Username dan Password.
Jika Anda lihat pada kode yang di generate oleh Dreamweaver, maka Anda akan
melihat kode di bawah ini:
$insertSQL =
sprintf(“INSERT INTO users (username, password) VALUES (%s, %s)”,
GetSQLValueString($_POST['username'],
“text”),
GetSQLValueString($_POST['password'],
“text”));
Ubahlah kode di atas
menjadi:
$insertSQL =
sprintf(“INSERT INTO users (username, password) VALUES (%s, %s)”,
GetSQLValueString($_POST['username'],
“text”),
GetSQLValueString(md5($_POST['password']),
“text”));
Halaman Log In Form
Cari kode seperti di
bawah ini:
if
(isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization
= “”;
Ubahlah menjadi:
if
(isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=md5($_POST['password']);
$MM_fldUserAuthorization
= “”;
Enkripsi Script PHP
dengan TrueBug PHP Obfuscator Encoder
Jika ingin mengenkripsi
script php untuk keperluan keamanan atau untuk melindungan hak cipta kamu,
mungkin bisa menggunakan aplikasi ini,
{Tampilan depan}
{Seleksi variabel dari script yang akan dienskripsi}
{Contoh script PHP yang
masih asli}
{Contoh Hasil Script PHP
yang sudah di enskripsi}
terkait dengan penerapan enkripsi, bisa diunduh artikel berikut http://repository.gunadarma.ac.id/bitstream/123456789/2274/1/01-03-010-Penerapan%5BRangga%5D.pdf
BalasHapusada contoh enkripsi paSSWORDNYA GAN/ MAKLUM NEWBIE PINGIN BELAJAR
BalasHapusthank atas info...
BalasHapusalhamdulillah ketemu juga ,, makasih buanyakk gan.. hidup gunadaram!!!
BalasHapusThx gan, tgs ane berhasil nih.
BalasHapusshare aja nyimpen password yg mau di enskripsi.
include "config.php";
$username = $_POST["username"];
$pass = crypt("password");
$simpan = mysql_query("INSERT INTO tabelmu( username, password) VALUES('$username','$pass')");
nti d database jd terenskripsi.. :D