init
This commit is contained in:
38
html/tasks/chapter_5/task12_encryption/oppgave.html
Executable file
38
html/tasks/chapter_5/task12_encryption/oppgave.html
Executable file
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Rot n</title>
|
||||
<link rel="stylesheet" href="../../../../resources/css/main.css">
|
||||
<script async src="script.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Rot(n)</h1>
|
||||
|
||||
<h2>Encryption</h2>
|
||||
<form id="encrypt">
|
||||
Message<br>
|
||||
<input type="text" name="Message" id="emess">
|
||||
Cipher:
|
||||
<input type="number" name="Cipher" min="0" max="26" id="enum">
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
|
||||
<p id="etext"></p>
|
||||
|
||||
<h2>Decryption</h2>
|
||||
<form id="decrypt">
|
||||
Message<br>
|
||||
<input type="text" name="Message" id="dmess">
|
||||
Cipher:
|
||||
<input type="number" name="Cipher" min="0" max="26" id="dnum">
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
|
||||
<p id="dtext"></p>
|
||||
|
||||
</body>
|
||||
</html>
|
71
html/tasks/chapter_5/task12_encryption/script.js
Executable file
71
html/tasks/chapter_5/task12_encryption/script.js
Executable file
@@ -0,0 +1,71 @@
|
||||
var encForm = document.getElementById("encrypt");
|
||||
var emess = document.getElementById("emess");
|
||||
var eciph = document.getElementById("enum");
|
||||
var etext = document.getElementById("etext");
|
||||
encForm.onsubmit=function(evt){
|
||||
evt.preventDefault();
|
||||
etext.innerHTML = encrypt(emess.value, parseInt(eciph.value));
|
||||
}
|
||||
|
||||
var decForm = document.getElementById("decrypt");
|
||||
var dmess = document.getElementById("dmess");
|
||||
var dciph = document.getElementById("dnum");
|
||||
var dtext = document.getElementById("dtext");
|
||||
decForm.onsubmit=function(evt){
|
||||
evt.preventDefault();
|
||||
dtext.innerHTML = decrypt(dmess.value, parseInt(dciph.value));
|
||||
}
|
||||
|
||||
function mod(x,n){
|
||||
return ((x%n)+n)%n;
|
||||
}
|
||||
|
||||
|
||||
function encrypt(mess,number){
|
||||
messArray=mess.split('');
|
||||
result=[];
|
||||
|
||||
for (i in messArray){
|
||||
x=messArray[i].charCodeAt(0);
|
||||
|
||||
if (x>64 && x<91){
|
||||
x-=64;
|
||||
x+=number;
|
||||
x=mod(x,26);
|
||||
x+=64;
|
||||
} else if (x>96 && x<123){
|
||||
x-=96;
|
||||
x+=number;
|
||||
x=mod(x,26);
|
||||
x+=96;
|
||||
}
|
||||
result.push(String.fromCharCode(x));
|
||||
}
|
||||
result = result.join("");
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
function decrypt(mess,number){
|
||||
messArray=mess.split('');
|
||||
result=[];
|
||||
|
||||
for (i in messArray){
|
||||
x=messArray[i].charCodeAt(0);
|
||||
|
||||
if (x>64 && x<91){
|
||||
x-=64;
|
||||
x-=number;
|
||||
x=mod(x,26);
|
||||
x+=64;
|
||||
} else if (x>96 && x<123){
|
||||
x-=96;
|
||||
x-=number;
|
||||
x=mod(x,26);
|
||||
x+=96;
|
||||
}
|
||||
result.push(String.fromCharCode(x));
|
||||
}
|
||||
result = result.join("");
|
||||
return result;
|
||||
}
|
Reference in New Issue
Block a user