71 lines
1.7 KiB
JavaScript
Executable File
71 lines
1.7 KiB
JavaScript
Executable File
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;
|
|
} |