шифр Бэкона. Помогите пожалуйста!
Помогите написать шифр Бэкона на JavaScript, пожалуйста!!!Буду очень благодарна!
|
Дарья87,
вы начните |
начала, не очень получается( поэтому и прошу помощи.
|
Дарья87,
где код? |
Дарья87,
насколько я понял, это простейший кодировщик Цитата:
alphabet = "abcdefghijklmnopqrstuvwxyz ".split("") table = {} randomSymbol = function(){ return Math.random() >= 0.5 ? "a" : "b" } randomInteger = function(){ return Math.floor( 1 + Math.random() * 8) } generateCode = function(){ var code = "" var counter = randomInteger() while(counter--){ code += randomSymbol() } if(code in table) return generateCode() return code } generateTable = function(){ alphabet.forEach(function(sym){ table[generateCode()] = sym }) } generateTable() console.log(table) дальше вам останется только транслировать слова через эту таблицу, и расшифровывать по ней же UPD не, не дочитал, облажался. Это НЕ простое кодирование. Так мы делаем только 2 шага, третий там архисложен, никто тут скорей всего бесплатно это делать не будет:) |
Дарья87,
без коментариев ... <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <script> function crypt(message) { var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); message = message.split(""); return message.reduce(function(message, current) { var i = a.indexOf(current); i = "00000" + i.toString(2); i = i.slice(-5); i = i.replace(/\d/g, function(a) { return ["A", "B"][a] }); return message + i }, "") } function decrypt(message) { var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); message = message.match(/.{5}/g); return message.reduce(function(message, current) { current = current.replace(/./g, function(a) { return { "A": "0", "B": "1" }[a] }); current = parseInt(current, 2); return message + a[current] }, "") }; document.write(crypt("RAMMSTEIN")+"<br>") document.write(decrypt("BAAABAAAAAABBAAABBAABAABABAABBAABAAABAAAABBAB")+"<br>") </script> </body> </html> |
рони,
строго говоря, Вы не реализовали шифр Бэкона: Цитата:
далее, это скрытое сообщение, должно быть еще раз закодировано, чтобы шифр выглядел как обычный текст. Это не особо тривиальная задача, я сам лоханулся, недочитал:). Но мой вариант, по крайней мере, делает первые 2 шага. Третий шаг реализовать очень трудно, если мы хотим еще добиться того, чтобы текст выглядел осмысленным:) |
Цитата:
внизу результат шифрования с помощью функций предложенных выше <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <body> <h1>Текст до шифрования</h1> <p class="from">В лесу родилась елочка, В лесу она росла, Зимой и летом стройная, Зеленая была. Метель ей пела песенку: «Спи, елочка, бай-бай!» Мороз снежком укутывал: «Смотри, не замерзай!» Трусишка-зайка серенький Под елочкой скакал, Порою волк, сердитый волк, Рысцою пробегал. Чу! Снег по лесу частому Под полозом скрипит; Лошадка мохноногая Торопится, бежит. Везет лошадка дровенки, А в дровнях — мужичок, Срубил он нашу елочку Под самый корешок. Теперь она, нарядная, На праздник к нам пришла И много, много радостей Детишкам принесла. </p> <h1>Текст после шифрования</h1> <p class="to"><i>В</i> <i>л</i><i>е</i>с<i>у</i> р<i>о</i>д<i>и</i><i>л</i>ась <i>е</i><i>л</i><i>о</i><i>ч</i><i>к</i>а, В <i>л</i>есу <i>о</i>на <i>р</i><i>о</i><i>с</i>л<i>а</i>, <i>З</i>им<i>о</i>й <i>и</i> л<i>е</i><i>т</i><i>о</i><i>м</i> <i>с</i>т<i>р</i><i>о</i><i>й</i><i>н</i><i>а</i>я, <i>З</i><i>е</i><i>л</i><i>е</i>н<i>а</i>я <i>б</i><i>ы</i>л<i>а</i> </p> <h1>Зашифрованный текст</h1> <p class="mes">БЕЗ КОМЕНТАРИЕВ</p> </body> </body> </html> |
рони,
Не заставляйте окружающих думать, что Вы умственно неполноценный, я уверен, что Вы сможете осилить смысл предыдущего сообщения, если постараетесь. То что Вы накалякали -- это всего лишь трансляция туда-сюда, Вы даже ключ не генерируете (п2) |
protoquest,
увы то что ты пишешь мне не подвласно :) мне далеко до твоего уровня программирования, да и большинства профи этого форума. |
Часовой пояс GMT +3, время: 10:27. |