шифр Бэкона. Помогите пожалуйста!
Помогите написать шифр Бэкона на 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, время: 16:45. |