Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   шифрограмма слова (https://javascript.ru/forum/misc/17829-shifrogramma-slova.html)

Елена1991 04.06.2011 20:03

шифрограмма слова
 
Помогите,пожалуйста,как зашифровать многострочный текст, размещенный на веб-странице методом сдвига по алфавиту. Предусматривая возможность расшифровки сообщения.
вот что я написала,но это не работает.подскажите,пожалу йста,как получить с помощью charCodeAt(i) код буквы, как то изменить этот код и вывести результат в текстовое поле и таким образом заменить а на б
<html>
<head>
<title>Пример передечи данных через URL</title>
<script language="JavaScript" type="text/javascript">
<!--
function dd() {

var a=document.f.txt.value;

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

if (a.charAt(i)=='а') a.charCodeAt(i);

//if (a.charCodeAt(i)=='б') ;
alert(a)
}

//a=a.charCodeAt(v );
//a=a.charCodeAt('б');




//a=a.replace("2","3");


document.f.txt.value=a;




}


//-->
</script>
</head>
<body onLoad="getTheString()">

<form name="f">
<textarea name="txt" cols="20" rows="10"></textarea>
<input type=button name=a1 value="|__|" onClick="dd();">
</form>

monolithed 04.06.2011 20:38

//CODED
var uncoded = 'Hello World!',
    array = uncoded.match(/[\w\s]/gi),
    i = array.length;

while(i--) {
    array[i] = array[i] == ' ' ? 32 : array[i].charCodeAt(0);
}
alert(array);

расшифровать таким же макаром
String.fromCharCode(coded[j])

Matre 04.06.2011 20:41

function code(str, shift) {
		var R = "";
		for (var i = 0; i < str.length; i++) {
			var char = str.charAt(i),
			    tt = code.ABC.indexOf(char) + shift,
			    len = code.ABC.length;
			if (tt - shift === -1) {
				R += char;
				continue;
			}
			if (tt > len - 1)
				tt -= len;
			if (tt < 0)
				tt += len;
			R += code.ABC.charAt(tt);
		}
		return R;
	}
	code.ABC = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
	alert( code("вот как-то так", 1) );


Поясняю:

code.ABC — алфавит. В нём содержатся все символы, которые нужно сдвигать по этому алфавиту.
code(str, shift) — тут shift — это величина сдвига. Может быть отрицательной (сдвиг назад).

Елена1991 04.06.2011 20:45

спасибо огромное!!!!


Часовой пояс GMT +3, время: 00:36.