Показать сообщение отдельно
  #1 (permalink)  
Старый 03.05.2012, 22:17
Новичок на форуме
Отправить личное сообщение для greg_zel Посмотреть профиль Найти все сообщения от greg_zel
 
Регистрация: 03.05.2012
Сообщений: 4

Матрица JS запись и чтение из матрицы
Суть такова, разбиваю вводимый (64-байтный) текст на 8 блоков, записываю в определенной последовательности эти блоки(по столбцам) в матрицу, затем считываю из нее по определенной последовательности, но уже по строкам.

<html>
<head>
<title>Перестановка 8 на 8</title> 
</head>
<body> <br>
<script language="JavaScript">
function polib() {
var a=new Array ( //Создание матрицы 8*8
  new Array ('','','','','','','',''), 
  new Array ('','','','','','','',''),
  new Array ('','','','','','','',''),
  new Array ('','','','','','','',''),
  new Array ('','','','','','','',''),
  new Array ('','','','','','','',''),
  new Array ('','','','','','','',''),
  new Array ('','','','','','','','')
 );
var f ="";
var simv="";
var str=0;
var stol=0;
var p=0;
var h=0;
var stol1="";
var stol2="";
var stol3="";
var stol4="";
var stol5="";
var stol6="";
var stol7="";
var stol8="";
var y=1;
var m=new String();
var n=new String();
var vvod = b_text1.value;
var vk =b_text1.value.toUpperCase();

/*for(i = 0; i < vvod.length; i++) 
{
	 simv=vk.charAt(i);
	 stol1=vk.substring(0,7);
	 
}*/
stol1=vk.substring(0,7);	//Разбиение строки на 8 частей
stol2=vk.substring(8,15);
stol3=vk.substring(16,23);
stol4=vk.substring(24,31);
stol5=vk.substring(32,39);
stol6=vk.substring(40,47);
stol7=vk.substring(48,55);
stol8=vk.substring(56,63);
p=0;
for (i=0; i<8; i++)	// запись по ключу: 6 4 2 1 3 5 7 8
{
simv=stol1.charAt(i);
a[p][6]=simv;
p+=1;
}
p=0;
for (i=8; i<16; i++)
{
simv=stol2.charAt(i);
a[p][4]=simv;
p+=1;
}
p=0;
for (i=16; i<24; i++)
{
simv=stol3.charAt(i);
a[p][2]=simv;
p+=1;
}
p=0;
for (i=24; i<32; i++)
{
simv=stol4.charAt(i);
a[p][1]=simv;
p+=1;
}
p=0;
for (i=32; i<40; i++)
{
simv=stol5.charAt(i);
a[p][3]=simv;
p+=1;
}
p=0;
for (i=40; i<48; i++)
{
simv=stol6.charAt(i);
a[p][5]=simv;
p+=1;
}
p=0;
for (i=48; i<56; i++)
{
simv=stol7.charAt(i);
a[p][7]=simv;
p+=1;
}
p=0;
for (i=56; i<64; i++)
{
simv=stol8.charAt(i);
a[p][8]=simv;
p+=1;
}

for (i=0; i<8; i++) f=f+a[8][i];	//считывание по ключу: 8 1 5 4 6 2 7 3
for (i=0; i<8; i++) f=f+a[1][i];
for (i=0; i<8; i++) f=f+a[5][i];
for (i=0; i<8; i++) f=f+a[4][i];
for (i=0; i<8; i++) f=f+a[6][i];
for (i=0; i<8; i++) f=f+a[2][i];
for (i=0; i<8; i++) f=f+a[7][i];
for (i=0; i<8; i++) f=f+a[3][i];


b_text2.value = f; }
</script>

<div align="center">
<b>Введите сюда Ваш текст:</b>
<br><br>
<input id="b_text1" type="text" size="80">
<br><br><br>
<b>Выберите действие:</b>
<br><br>

<input onclick="polib()" type="button" value="Дешифровать"><br>

<b>Результат:</b> <br><br>
<input id="b_text2" type="text" size="80"> </div>
</html>
Ответить с цитированием