Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.10.2012, 01:07
Аватар для Evkliptik
Интересующийся
Отправить личное сообщение для Evkliptik Посмотреть профиль Найти все сообщения от Evkliptik
 
Регистрация: 23.09.2012
Сообщений: 14

Шифрование в JavaScript
Ребятки мне необходимо написать программу которая будет шифровать текст.

В него входят 26 символов английского алфавита и 2 символа точка и запятая т.е 28 символов.

есть вариант реализовать такое на JavaScript?

если да то подскажите в каком направлении капать, мб литературу какую...
буду безумно благодарен.

Последний раз редактировалось Evkliptik, 28.10.2012 в 01:40.
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2012, 01:15
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

всмысле шифровать?
Чтоб вместо текста были какие-нибудь крокозябры?

Можно регэкспом заменять каждый символ с помощью метода replace()
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2012, 01:16
Аватар для Evkliptik
Интересующийся
Отправить личное сообщение для Evkliptik Посмотреть профиль Найти все сообщения от Evkliptik
 
Регистрация: 23.09.2012
Сообщений: 14

dmitry111,

Я думаю мб что бы на одной странице я вводил текст, мне он выдовал кракозябры как ты называешь,
а на другой странице я вводил эти кракозябры, а мне выдавало начальный текст.

Последний раз редактировалось Evkliptik, 28.10.2012 в 01:23.
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2012, 01:32
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>


    
    <script>

      var text = prompt("введите слово", "");
      var elem = document.createElement("p");
      elem.id = "xxx";
      var regEx = /[\S]+/;
      
      var x = text.replace(regEx, "слово зашифровано, нажми на меня чтобы расшифровать");
      elem.innerHTML = x;
      document.body.appendChild(elem);
      
      document.getElementById("xxx").onclick = function () {
      elem.innerHTML = text;      
      };

    </script>

  </body>
</html>



Можно придумать какие-либо алгоритмы и шифровать каждый символ.

Последний раз редактировалось dmitry111, 28.10.2012 в 01:41.
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2012, 01:39
Аватар для Evkliptik
Интересующийся
Отправить личное сообщение для Evkliptik Посмотреть профиль Найти все сообщения от Evkliptik
 
Регистрация: 23.09.2012
Сообщений: 14

dmitry111,

Это бомба!)) то что нужно)
ты сам написал это?
если да , то можно переписать его таким образом что бы было поле, под полем кнопка "go"
над полем 2 чек бокса.
напротив одного слово "Шифрование"
а напротив другого "Дешифрование"
выбирая определённое поле происходит нужное действие, после нажатия кнопки "go"
Ответить с цитированием
  #6 (permalink)  
Старый 28.10.2012, 01:50
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Evkliptik,

это не шифрование, это просто замена текста на фразу. Если нужно подобное не нужен даже регэкс.

Вот replace()
Если возникнут вопросы, с кодом, выкладывайте тут, помогу
Ответить с цитированием
  #7 (permalink)  
Старый 28.10.2012, 02:05
Аватар для Evkliptik
Интересующийся
Отправить личное сообщение для Evkliptik Посмотреть профиль Найти все сообщения от Evkliptik
 
Регистрация: 23.09.2012
Сообщений: 14

dmitry111,
Спасибо огромное, буду ковырять. если не сегодня ночью то завтра к вечеру что нить уже сделаю.
Ответить с цитированием
  #8 (permalink)  
Старый 28.10.2012, 03:25
Аватар для Evkliptik
Интересующийся
Отправить личное сообщение для Evkliptik Посмотреть профиль Найти все сообщения от Evkliptik
 
Регистрация: 23.09.2012
Сообщений: 14

Нашёл вот что
<h1>Шифрация текста на JavaScript</h1>
<br>
<script type="text/javascript">
<!-- Begin
function Encrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
	rnd = Math.round(Math.random() * 122) + 68;
	Temp[i] = theText.charCodeAt(i) + rnd;
	Temp2[i] = rnd;
}
for (i = 0; i < TextSize; i++) {
	output += String.fromCharCode(Temp[i], Temp2[i]);
}
return output;
}
function unEncrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
	Temp[i] = theText.charCodeAt(i);
	Temp2[i] = theText.charCodeAt(i + 1);
}
for (i = 0; i < TextSize; i = i+2) {
	output += String.fromCharCode(Temp[i] - Temp2[i]);
}
return output;
}
//  End -->
</script>

<form name=encform onsubmit="return false;">
<p>
<textarea name=box1 rows=5 cols=80>Текст для проверки возможности шифрования</textarea>
<p>
<input type=button value="Зашифровать Box1 в Box2" onClick="this.form.box2.value=Encrypt(this.form.box1.value);">
<br><p>
<textarea name=box2 rows=5 cols=80></textarea>
<p>
<input type=button value="Расшифровать Box2 to Box3" onClick="this.form.box3.value=unEncrypt(this.form.box2.value);">
<br><p>
<textarea name=box3 rows=5 cols=80></textarea>
</form>


этот скрипт шифрует и цифры и все все символы. есть возможность изменить его так, что бы использовался только английский алфавит и символы точка и запятая, регистр значения не имеет.

dmitry111, как ты думаешь?

Последний раз редактировалось Evkliptik, 28.10.2012 в 03:29.
Ответить с цитированием
  #9 (permalink)  
Старый 28.10.2012, 04:57
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Можно запрещать ввод для всех символов кроме нужных


<h1>Шифрация текста на JavaScript</h1>
<br>
<script type="text/javascript">
<!-- Begin
function Encrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
	rnd = Math.round(Math.random() * 122) + 68;
	Temp[i] = theText.charCodeAt(i) + rnd;
	Temp2[i] = rnd;
}
for (i = 0; i < TextSize; i++) {
	output += String.fromCharCode(Temp[i], Temp2[i]);
}
return output;
}
function unEncrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
	Temp[i] = theText.charCodeAt(i);
	Temp2[i] = theText.charCodeAt(i + 1);
}
for (i = 0; i < TextSize; i = i+2) {
	output += String.fromCharCode(Temp[i] - Temp2[i]);
}
return output;
}
//  End -->
</script>

<form name=encform onsubmit="return false;">
<p>
<textarea name=box1 rows=5 cols=80></textarea>
<p>
<input type=button value="Зашифровать Box1 в Box2" onClick="this.form.box2.value=Encrypt(this.form.box1.value);">
<br><p>
<textarea name=box2 rows=5 cols=80></textarea>
<p>
<input type=button value="Расшифровать Box2 to Box3" onClick="this.form.box3.value=unEncrypt(this.form.box2.value);">
<br><p>
<textarea name=box3 rows=5 cols=80></textarea>
</form>

    <script>
// не кроссбраузерный, работает в safari
// не дает вводить символы кроме латинских букв
      document.getElementsByTagName("textarea")[0].onfocus = function (event) {      
        this.onkeypress = function (event) {
          var key = event.which;
          if (key < 97 || key > 122) return false;          
        };        
      };    
    </script>



Это так набросок, чтобы дать понять. Он не кроссбраузерный и только для латинских букв.
просто чтоб донести суть.

5 ночи)

Последний раз редактировалось dmitry111, 28.10.2012 в 05:00.
Ответить с цитированием
  #10 (permalink)  
Старый 28.10.2012, 04:59
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

ах да, пробел тоже символ!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34