Tutorial Enkripsi dan Dekripsi di Javascript
Oke gank, beberapa waktu lalu saya sempat mengikuti test seleksi bootcamp pemprograman secara online. Dimana pada seleksi tersebut, peserta diberi 4 buah soal yang bisa dikerjakan menggunakan bahasa pemprograman yang paling dikuasai dan juga boleh buka google.Gila gampang banget kan!
Iya, bagi sebagian besar yang sudah faham fundamental bahasa pemprograman soal - soal tersebut harusnya bisa dikerjain dengan gampang, namun buat yang masih pemula yang mengandalkan peruntungan kayaknya perlu belajar lagi aja (kayak gw wkwkwk). Kalian bisa mencoba program coding 30hari yang sudah sempat saya bahas dan pastinya gratis!.
Oke, back to topik, pada kesempatan kali ini kita akan belajar cara Enkripsi dan Dekripsi di Javascript. Saya tertarik untuk membahas tutorial ini karena kebetulan pada soal test seleksi bootcamp yang saya ikuti kemarin ada soal ini dan saya cari tutorialnya di google masih jarang ada yang bahas.
Apa itu enkripsi dan deskripsi?
Contohnya gini :Proses EnkripsiNatalia ---> A2sznk?lsnlkmProses DeskripsiA2sznk?lsnlkm ---> Natalia
Bagaimana cara pengaplikasian CryptoJS dalam Javascript?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Encrypt & Decrypt Password</title>
<!-- CDN untuk library CryptoJS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script>
</head>
<body>
<!-- Membuat Input dan Output Untuk Enkripsi Password -->
<form onsubmit="event.preventDefault(); enkrip()">
<label>Enkripsi Password</label>
<input id="enkripsi-password" type="text" required>
<button>Enter</button>
</form>
<br />
<div class="hasil-enkripsi">
<p>Hasil Enkripsi :</p>
</div>
<!-- Membuat Enkripsi untuk Input dan Output Dekripsi Password -->
<br />
<form onsubmit="event.preventDefault(); dekrip()">
<label>Dekripsi Password</label>
<input id="dekripsi-password" type="text" required>
<button>Enter</button>
</form>
<br />
<div class="hasil-dekripsi">
<p>Hasil Deskipsi :</p>
</div>
<script>
const enkripsiPassword = document.getElementById('enkripsi-password')
const dekripsiPassword = document.getElementById('dekripsi-password')
const hasilEnkripsi = document.querySelector('.hasil-enkripsi')
const hasilDeskripsi = document.querySelector('.hasil-dekripsi')
// Fungsi untuk mengenkripsi
function enkrip(){
let Enkripsi = CryptoJS.AES.encrypt(enkripsiPassword.value, "PASSWORD")
Enkripsi = Enkripsi.toString() //Kita convert hasil enkripsinya kedalam string supaya bisa ditampilkan dilayar
const hasil = document.createElement("P")
hasil.innerHTML = Enkripsi
hasilEnkripsi.appendChild(hasil)
enkripsiPassword.value = ''
}
// Fungsi untuk mendekripsi
function dekrip(){
let Dekripsi = CryptoJS.AES.decrypt(dekripsiPassword.value, "PASSWORD")
Dekripsi = Dekripsi.toString(CryptoJS.enc.Utf8) //Kita convert hasil deskripsinya supaya bisa ditampilkan dilayar, kita juga menambahkan parameter kedalam toString supaya nilai yang dihasilkan bisa dibaca.
const hasil = document.createElement("P")
hasil.innerHTML = Dekripsi
hasilDeskripsi.appendChild(hasil)
dekripsiPassword.value = ''
}
</script>
</body>
</html>
Oke, jika diamati, sebenarnya didalamnya sudah saya kasih komentar. Namun, tetap akan saya bedah supaya kita makin faham apa maksud dari code tersebut.