Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Листинги разработанных программ




Шифр Цезаря

<html>

<head>

<title>Шифр Цезаря</title>

</head>

<body>

<form name="form1">

Текст:

<input name="text1" type="text" size="100" value=""><br>

Ключ:

<input name="text2" type="text" size="2" value=""><br>

<input onclick="z()" type="button" value="Шифровать">

<input onclick="r()" type="button" value="Расшифровать"><br>

 

<script type="text/javascript">

function z(){

var A=["А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я"];//массив алфавита

var Z=[];// массив алфавита замены

var a = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строка алфавита

var text = document.form1.text1.value.toUpperCase();//ввод текста

var res= "";

var key = 1*document.form1.text2.value;// получение числовой формы сдвига

for (i=0; i<33; i++)

{

if (i<key) Z[i + (33-key)] = A[i];

else Z[i-key] = A[i];// заполнение массива алфавита замены

}

z=Z.join("");// получение строки замены

for (i = 0; i < text.length; i++)//длина сообщения

s = a.lastIndexOf(text.charAt(i)),//находим индекс в алфавите совпадающий с введенными символами

s = z.charAt(s),//находим в строке замены нужный символ

res += s;

alert(res);

}

function r(){//расшифрование

var A=["А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я"];

var Z=[];

var a = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";

var text = document.form1.text1.value.toUpperCase();//ввод текста

var res = "";

var key = 1*document.form1.text2.value;

for (i=0; i<33; i++)

{

if ((i+key)>32) Z[i - (33-key)] = A[i];

else Z[i+key] = A[i];

}

z=Z.join("");

for (i = 0; i < text.length; i++)//длина сообщения

s = a.lastIndexOf(text.charAt(i)),//находим индекс в алфавите совпадающий с введенными символами

s = z.charAt(s),//находим в строке замены нужный символ

res+= s;

alert(res)

}

</script>

</body>

</html>

 

Атбаш

<html>

<head>

<title>Атбаш</title>

</head>

<body>

<form name="form1">

Введите текст:

<input name="text1" type="text" size="100" value=""><br>

<input onclick="at()" type="button" value="Результат"><br>

</form>

<script language="JavaScript">

function at() {

var a = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';//исходный алфавит

var z = 'ЯЮЭЬЫЪЩШЧЦХФУТСРПОНМЛКЙИЗЖЁЕДГВБА';//алфавит замены

var res = '',

text=document.form1.text1.value.toUpperCase();//перевод в верхний регистр

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

s = a.indexOf(text.charAt(i));//находим позицию введенного символа в алфавите

res=res+z.charAt(s);//присваиваем переменной "r" символ стоящий на найденной позиции

}

alert(res);//вывод результата

}

</script>

</body>

</html>

 

 

Квадрат Полибия

<html>

<head>

<title>

Квадрат Полибия

</title>

<script type="text/javascript">

function Polib1()//функция для шифрования

{

var text=document.getElementById("isxtext").value.toUpperCase()//присваиваем переменной введенный текст, переводим буквы введенного текста в верхний регистр

text=text.replace(/\s+/g,''),//удаляем пробелы из введенного текста

res='',//хранение для результата

A="КОТАБВГДЕЁЖЗИЙЛМНПРСУФХЦЧШЩЪЫЬЭЮЯ.,-",//начальный алфавит

M="1234567";

for (i=0; i<text.length; i++)

{

m=A.indexOf(text.charAt(i));//находим индекс

res=res+M.charAt(Math.floor(m/5));//находим нужную строки

res=res+M.charAt(m%5);//находим нужный столбец

}

alert(res);//выводим результат

}

function Polib2(){//функция для расшифрования

var text=document.getElementById("isxtext").value,//считывание введенного текста

text=text.replace(/\s+/g,''),//удаление пробелов

res='',//хранение для результата

A="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.,-",

M="123456";

for (i=0; i<text.length; i+=2)

{

m1=M.indexOf(text.charAt(i+1)); // берем индекс второго символа

m=M.indexOf(text.charAt(i)); // берем индекс первого символа

res=res+A.charAt(m*6+m1); // присваиваем переменной res символ стоящий на этих позициях A

}

alert(res);//выводим результат

}

</script>

</head>

<body>

Введите исходный текст:<br>

<input size="120" value="23 34 31 34 42 55 16 36 43 26 24 23 11 41 16 36 16 12 36 34 33 16 26 43 35 24 52 56" id="isxtext"><br>

<input type="button" onclick="Polib1()" value="шифрование">

<input type="button" onclick="Polib2()" value="расшифрование">

</body>

</html>

 

Метод перестановок

<html>

<head>

<title>Метод перестановок</title>

</head>

<body>

Введите ключ записи:

<input id="text1" type="text" size="2"value="10">

<input id="text2" type="text" size="2"value="1">

<input id="text3" type="text" size="2"value="2">

<input id="text4" type="text" size="2"value="3">

<input id="text5" type="text" size="2"value="9">

<input id="text6" type="text" size="2"value="4">

<input id="text7" type="text" size="2"value="8">

<input id="text8" type="text" size="2"value="5">

<input id="text9" type="text" size="2"value="7">

<input id="text10" type="text" size="2"value="6"><br>

Введите ключ считывания:

<input id="text11" type="text" size="2" value="10">

<input id="text12" type="text" size="2"value="1">

<input id="text13" type="text" size="2"value="2">

<input id="text14" type="text" size="2"value="3">

<input id="text15" type="text" size="2"value="6">

<input id="text16" type="text" size="2"value="4">

<input id="text17" type="text" size="2"value="5">

<input id="text18" type="text" size="2"value="7">

<input id="text19" type="text" size="2"value="9">

<input id="text20" type="text" size="2"value="8"><br>

Tекст:<br>

<input id="text21" type="text" size="200" value=""/><br>

<input onclick="Z()" type="button" value="Шифровать"/>

<input onclick="R()" type="button" value="Расшифровать"/><br>

<script type="text/javascript">

var z1=document.getElementById('text1').value*1,

z2=document.getElementById('text2').value*1,

z3=document.getElementById('text3').value*1,

z4=document.getElementById('text4').value*1,

z5=document.getElementById('text5').value*1,

z6=document.getElementById('text6').value*1,

z7=document.getElementById('text7').value*1,

z8=document.getElementById('text8').value*1,

z9=document.getElementById('text9').value*1,

z10=document.getElementById('text10').value*1;////считывание и преобразование в число ключа записи

var s1=document.getElementById('text11').value*1,

s2=document.getElementById('text12').value*1,

s3=document.getElementById('text13').value*1,

s4=document.getElementById('text14').value*1,

s5=document.getElementById('text15').value*1,

s6=document.getElementById('text16').value*1,

s7=document.getElementById('text17').value*1,

s8=document.getElementById('text18').value*1,

s9=document.getElementById('text19').value*1,

s10=document.getElementById('text20').value*1;//считывание и преобразование в число ключа считывания

var r1=[]; var r2=[]; var r3=[]; var r4=[]; var r5=[]; var r6=[];

var r7=[]; var r8=[]; var r9=[]; var r10=[]; var m1=[]; var m2=[]; var z=[]; var s=[];

m1=[r1,r2,r3,r4,r5,r6,r7,r8,r9,r10];//массив открытого текста

z=[z1,z2,z3,z4,z5,z6,z7,z8,z9,z10];

s=[s1,s2,s3,s4,s5,s6,s7,s8,s9,s10];//массивы ключей записи и ключей считывания

function Z(){

var text=document.getElementById('text21').value;//считывание текста

var res="";

for (i=0; i<10; i++){//разбиения открытого текста на массивы по 10 элементов

r1[i]=text.charAt(i)

r2[i]=text.charAt((i+10))

r3[i]=text.charAt((i+20))

r4[i]=text.charAt((i+30))

r5[i]=text.charAt((i+40))

r6[i]=text.charAt((i+50))

r7[i]=text.charAt((i+60))

r8[i]=text.charAt((i+70))

r9[i]=text.charAt((i+80))

r10[i]=text.charAt((i+90))

}

for (i=0; i<10; i++){m2[z[i]-1]=m1[i];}//перестановка элементов массива

for(j=0;j<10;j++){m=m2[j];res+=m[s1-1];}//выбор элементов массива

for(j=0;j<10;j++){m=m2[j];res+=m[s2-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s3-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s4-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s5-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s6-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s7-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s8-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s9-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[s10-1];}

alert(res);

}

function R(){

var text=document.getElementById('text21').value;//считывание текста

var res="";//Переменные для результата

for (i=0; i<10; i++){//разбиения открытого текста

r1[i]=text.charAt(i)

r2[i]=text.charAt((i+10))

r3[i]=text.charAt((i+20))

r4[i]=text.charAt((i+30))

r5[i]=text.charAt((i+40))

r6[i]=text.charAt((i+50))

r7[i]=text.charAt((i+60))

r8[i]=text.charAt((i+70))

r9[i]=text.charAt((i+80))

r10[i]=text.charAt((i+90))

}

for (i=0; i<10; i++){m2[s[i]-1]=m1[i];}

for(j=0;j<10;j++){m=m2[j];res+=m[z1-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z2-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z3-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z4-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z5-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z6-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z7-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z8-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z9-1];}

for(j=0;j<10;j++){m=m2[j];res+=m[z10-1];}

alert(res);

}

</script>

 

</body>

</html>

 

Метод гаммирования

<html>

<head>

<title>Шифрование методом гаммирования</title>

</head>

<body>

<script type="text/javascript">

function gammir(){

var gam1=document.form1.text2.value*1;

var gam2=document.form1.text3.value*1;

var gam3=document.form1.text4.value*1;

var gam4=document.form1.text5.value*1;

var gam5=document.form1.text6.value*1;//создание переменных равных гамме

var res="";//результат

var mgam = [];//массив для гаммы

var text=document.form1.text1.value;//считывание введенного текста

mgam[0]=gam1;//создание массивов равных гамме

mgam[1]=gam2;

mgam[2]=gam3;

mgam[3]=gam4;

mgam[4]=gam5

for (i=0; i<text.length; i++){//цикл для введенного текста

var a =text.charCodeAt(i);//присваивание переменной символа с индексом введенного текста

var b =a-0x350;

var x = i%5;//берем нужную гамму

gam=mgam[x];//берем элемент массива

y=b^gam;//исключающеей или

res += String.fromCharCode(y + 0x350);//присваеваем переменной получившуюся строку

}

alert(res);//выводим результат

}

</script>

</head>

<body>

<form name="form1">

Текст:

<input name="text1" type="text" size="100" value=""><br>

Гамма:

<input name="text2" type="text" size="2" value="6">

<input name="text3" type="text" size="2" value="12">

<input name="text4" type="text" size="2" value="22">

<input name="text5" type="text" size="2" value="5">

<input name="text6" type="text" size="2" value="3"><br>

<input onclick="gammir()" type="button" value="Результат">

 

</form>

<!--ввод сообщения и гаммы -->

</body>

</html>

 





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 409 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2555 - | 2198 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.