Шифрование в JavaScript
Ребятки мне необходимо написать программу которая будет шифровать текст.
В него входят 26 символов английского алфавита и 2 символа точка и запятая т.е 28 символов. есть вариант реализовать такое на JavaScript? если да то подскажите в каком направлении капать, мб литературу какую... буду безумно благодарен. |
всмысле шифровать?
Чтоб вместо текста были какие-нибудь крокозябры? :) Можно регэкспом заменять каждый символ с помощью метода replace() |
dmitry111,
Я думаю мб что бы на одной странице я вводил текст, мне он выдовал кракозябры как ты называешь, а на другой странице я вводил эти кракозябры, а мне выдавало начальный текст. |
<!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,
Это бомба!)) то что нужно) ты сам написал это? если да , то можно переписать его таким образом что бы было поле, под полем кнопка "go" над полем 2 чек бокса. напротив одного слово "Шифрование" а напротив другого "Дешифрование" выбирая определённое поле происходит нужное действие, после нажатия кнопки "go" |
Evkliptik,
это не шифрование, это просто замена текста на фразу. Если нужно подобное не нужен даже регэкс. Вот replace() Если возникнут вопросы, с кодом, выкладывайте тут, помогу |
dmitry111,
Спасибо огромное, буду ковырять. если не сегодня ночью то завтра к вечеру что нить уже сделаю. |
Нашёл вот что
<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, как ты думаешь? |
Можно запрещать ввод для всех символов кроме нужных
<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 ночи) :) |
ах да, пробел тоже символ!
|
То, чем вы занимаетесь называется не шифрованием, а кодированием. Для шифрования есть куча алгоритмов, таких как RSA, схема Эль-Гамаля и пр.
|
Цитата:
|
на самом деле FINoM прав.
И кстати алгоритм кода, шифрованного на стороне пользователя не лучшее решение, потому как доступен) Лучше это делать на стороне сервера! |
dmitry111,
да мне лабу сделать и шоб от меня от**бались) я жаву буду летом учить, он у меня на 5 курсе ток будет преподаваться. просто интересно сделать лабу именно на жаве, так он мне нравится :-[ |
Evkliptik,
Море логики. Вот такие студены и выходя у нас и вузов, отлично. Для начала, это не Java. Может вам на другой форум? |
Nekromancer, мдаа море логики
Evkliptik, это не Java, а JavaScript, видите разницу между: javascript: (function () { var x = 5; for (var i = 1, k = 1; i < x; i++) { k = k * (i + 1); }; x = k; alert ("Факториал x = 5: " + x); })(); Java: class MyClass { public static void main (String args[]){ long x = 5, k = 1; for (int i = 1; i < x; i++){ k = k * (i + 1); }; x = k; System.out.println("Факториал x = 5: " + x); } } |
Как бы я понял, но по русски писать долго жава скрипт.
Я думал тут люди более высокого интелекта. если вам нужно сообщений набрать идите в другие темы. Dim@, я знаю разницу. я думал меня поймут если я просто напишу жава, вместо жава скрипт. форум то Js... |
Evkliptik,
Вас то все прекрасно поняли, а ещё поняли, что вам не только программный код лень писать, вам вообще всё лень делать, даже назвать язык так, как он называется. |
Цитата:
|
Evkliptik,
Цитата:
Цитата:
|
http://www.leemon.com/crypto/BigInt.html вот очень неплохая либа с кучей удобных криптологических алгоритмов. Писал с её помощью практику по диплому, взламывая дискретный логарифм длиной в 700 десятичных знаков. Эх... хорошие были времена, пик интереса к программированию.
|
Цитата:
Evkliptik, ты с какова города? |
trikadin,
За соседней партой сидит. Помоги чуваку, что ле :) |
Цитата:
|
Уже наверное не актуально)
Но я когда писал такую хрень: http://gmoryes.bplaced.net/backup/code.html http://gmoryes.bplaced.net/backup/decode.html Инструкция |
Часовой пояс GMT +3, время: 18:00. |