Vous êtes sur la page 1sur 5

NAMA: ROFFY ANSYAKUR A

NIM: 170533628628
Syntax:
<!DOCTYPE html>
<html>

<head>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.
css" integrity="sha384-
Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384-
J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous"></script>

<script
src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-
Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>

<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js
" integrity="sha384-
wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>

<title>Sandi Chiper by Roffy</title>


</head>

<body>

<div class="container">

<h2>Vigenere Chiper</h2>

<div class="form-group">
<label for="Ptext">Text:</label>

<input type="text" class="form-control" id="Ptext"


placeholder="Masukan Text" name="text" required>
</div>

<div class="form-group">

<label for="pwd">Kunci:</label>

<input type="text" class="form-control" id="pwd"


placeholder="Kata Kunci" name="kunci" required>
</div>
<button type="" class="btn btn-primary"
onclick="dekrip()">Submit</button>

<div class="form-group">

<div>Text: <p id="plain_text"></p></div>


<div>Kunci: <p id="kata_kunci"></p></div>

<div>Array Text: <p id="Array_T"></p></div>

<div>Array Kunci: <p id="Array_K"></p></div>

<div>Jumlah Array Text kedalam Angka: <p


id="index_Text"></p></div>

<div>Jumlah Array Kunci kedalam Angka: <p


id="index_Kunci"></p></div>

<div>Gabungan Angka text dan Kunci: <p


id="gabe"></p></div>

<div>ENKRIPSI: <p id="hasil"></p></div>

</div>
</div>

</body>

<script type="text/javascript">

function dekrip(){

var text = document.getElementById('Ptext').value;


var kunci = document.getElementById('pwd').value;

var pText = text.length;

var pKunci = kunci.length;


document.getElementById('plain_text').innerHTML = text;
if (pKunci<pText) {

var ulangKunci = kunci.repeat(pText);


document.getElementById('kata_kunci').innerHTML =
ulangKunci;
}else {

var ulangKunci = kunci;

document.getElementById('kata_kunci').innerHTML = kunci;
}
var array = text.split("");

var array_2 = ulangKunci.split("");

document.getElementById('Array_T').innerHTML = array;
document.getElementById('Array_K').innerHTML = array_2;

//Mengakses Setiap Array

var array_text_nomer = [];


var array_kunci_nomer = [];

for (var i = 0, o = 0, q = 0; i<=pText; i++) {

o++;

q++;
array[o] = text.charAt(i);

array_text_nomer[q] = array[o].charCodeAt(0) - 97;

for (var s = 0, p = 0, r = 0; s<=ulangKunci.length; s++) {

p++;
r++;

array_2[p] = ulangKunci.charAt(s);

array_kunci_nomer[r] = array_2[p].charCodeAt(0) - 97;

document.getElementById('index_Text').innerHTML =
array_text_nomer;
document.getElementById('index_Kunci').innerHTML =
array_kunci_nomer;

for (var i = 0; i <= array_text_nomer.length; i++) {


array_text_nomer[i];

array_kunci_nomer[i];

// Menjumlahkan Kedua Array

var sum_array = array_text_nomer.map(function(num, idx){


return num + array_kunci_nomer[idx]

});

document.getElementById('gabe').innerHTML = sum_array;

var vigenere = [];

for (var i = 0, a = 0; i <= sum_array.length; i++) {

a++;
vigenere[a] = String.fromCharCode(sum_array[i]+97);

document.getElementById('hasil').innerHTML = vigenere.join("");

</script>

</html>

Screenshot:

Kesimpulan:
Penggunaan Vigenere Chiper data dapat mengamankan password suatu akun saat
diterapkan kedalam syntax kita. penerapaan pada syntax diatas intinya ialah penjumlahan
array yang akan menghasilkan suatu string, sehingga string akan berbentuk acak.

Referensi:
https://program.arfianhidayat.com/kriptografi/vigenere_encrypt.html

Vous aimerez peut-être aussi