Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/58: Рейтинг темы: голосов - 58, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 69
1

Зашифровать фразу методом Цезаря и расшифровать

05.12.2013, 02:15. Показов 10861. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
задание-помогите кто может
надо зашифровать методом цезаря фразу, ну еще и разшифровать(это вообще фэнтези)
я тут вот создала- и все- не работает. туплю-незнаю куда идти....
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<title>код цезаря</title>
</head>
<body>
<?php
if (isset($_POST['go']))
 {
 $text=$_POST['text'];
 $count_text=count($text);
 $delta=3;
 $abc=array('a','б','в','г','д','е','ж','з','и','к','л','м');
 $count_abc=count($abc);
 $shifr=array();
 for ($i=0; $i<$count_abc; $i++)
    {
    $a[$i]=($text[$i]+$delta)%count($abc);
    $shifr[]=$a[$i];
    }
    print_r($shifr);
 }
 
?>
<H1>шифровка</H1>
<form method="post" >
Исходный текст:<br />
<textarea rows="5" cols="20" name="text">
где жил еж</textarea><br />
Смещение: <input type="text" value="2" name="delta" /><br />
<input type="submit" name="go" value="Шифровать!" />
</form>
</body>
</html>
Добавлено через 1 минуту
спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2013, 02:15
Ответы с готовыми решениями:

Зашифровать-расшифровать текст с помощью шифра Цезаря
Задание такое - текст из файла Прізвище1.txt зашифровать в Прізвище2.txt, а потом дешифровать из...

Зашифровать строку методом Цезаря
Помогите, пожалуйста, написать код к заданию: Зашифровать строку, содержащую русские буквы, ...

Расшифровать текст, зашифрованный методом Цезаря
Реализация дешифровки методом Цезаря:Необходимо расшифровать текст, зашифрованный методом Цезаря. ...

Зашифровать, расшифровать текст методом сдвига алфавита
Всем привет, вот до утра надо написать программу:(что то не получается. Помогите пожалуйста! вот...

7
71 / 38 / 23
Регистрация: 05.12.2013
Сообщений: 118
05.12.2013, 02:36 2
Цитата Сообщение от feodora2001 Посмотреть сообщение
методом цезаря
А что за метод такой? Я вот гуглил, не нашел =(
0
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 69
05.12.2013, 12:29  [ТС] 3
вот - метод сдвига http://ru.wikipedia.org/wiki/%... 7%E0%F0%FF на выбранное количество
0
71 / 38 / 23
Регистрация: 05.12.2013
Сообщений: 118
05.12.2013, 15:50 4
Написал на коленке. Надеюсь, тебя не должны смутить функции работы со строками, начинающимися на mb_,
поскольку я писал всё в кодировке utf-8, если же ты пишешь в windows-1251, всё проще

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
 
//Текст нашего сообщения
$text = 'Съешь же ещё этих мягких французских булок, да выпей чаю.';
 
//Тут будет новое, закодированное сообщение
$new_text = '';
 
//На сколько символов сдвигаем алфавит
$shift = 3;
 
//Алфавит и еще не преобразованный алфавит
$code = $alpha = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
 
 
//Пробегаемся по алфавиту, сдвигаем символы
for($i=0; $i < $shift; $i++) {
    $first = mb_substr($code,0,1, 'utf-8'); //Находим первый символ
    $code = mb_substr($code,1, mb_strlen($code, 'utf-8'),'utf-8').$first; //Ставим его в конец
}
 
$alpha .= mb_strtoupper($alpha, 'utf-8'); //Добавляем к алфавиту буквы в верхнем регистре
$code .= mb_strtoupper($code, 'utf-8'); //Тоже самое для кода
 
$text_length =  mb_strlen($text, 'utf-8'); //Узнаем длину сообщения
 
for($i = 0; $i < $text_length; $i++) { //Пробегаемся по каждому символу сообщения
    $char = mb_substr($text, $i, 1, 'utf-8'); //Узнаём символ
    $pos = mb_strpos($alpha, $char, 0, 'utf-8'); //Определяем позицию символа в алфавите
    if($pos !== false) { //Если позиция найдена
        $new_text .= mb_substr($code, $pos, 1,  'utf-8'); //Добавляем к зашифрованному сообщению преобразованный символ
    } else {
        $new_text .= $char; //Просто добавляем символ
    }
}
 
echo $new_text; //Выводим зашифрованное сообщение
 
?>
0
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 69
05.12.2013, 17:31  [ТС] 5
вот , хочу вам сказать спасибо, а кнопки нет)) СПАСИБО!
0
71 / 38 / 23
Регистрация: 05.12.2013
Сообщений: 118
05.12.2013, 17:32 6
Цитата Сообщение от feodora2001 Посмотреть сообщение
а кнопки нет
Да фиг бы с ней. Был рад помочь, обращайтесь.
0
217 / 157 / 30
Регистрация: 11.05.2010
Сообщений: 614
06.12.2013, 10:11 7
Цитата Сообщение от feodora2001 Посмотреть сообщение
вот , хочу вам сказать спасибо, а кнопки нет)) СПАСИБО!
А кнопка "Отзыв" есть? можно и ею прибавить кармы)
0
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 69
06.12.2013, 12:26  [ТС] 8
вот у вас снизу есть, а у него нету, как так -не знаю.
0
06.12.2013, 12:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2013, 12:26
Помогаю со студенческими работами здесь

Расшифровать фразу
Подставлял различные,даже рандомные ключи. Переставлял буквы в ключе. Никаких закономерностей или...

Расшифровать фразу
Изречение политического деятеля времен А. Пугачевой: ЭИЖЬМ НОЙАБ ОТЛМО НОККИ ЭКОНЫ ОДААБ

Расшифровать фразу
Фраза &quot;дбдшьхгмубю&quot; зашифрована шифром Вижинера. Известно что при шифровании использовалась таблица...

Надо Зашифровать введенную английскую фразу.
нужно сделать такую программу :( Зашифровать введенную английскую фразу, заменяя каждую букву...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru