Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
1

Шифрование текста на PHP

01.03.2015, 13:31. Просмотров 1434. Ответов 7
Метки нет (Все метки)

Нужно реализовать шифрование текста на PHP с использованием алгоритма RSA.
Код:

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
<?php
function encode_msg ($text)
{
$p = 3; 
$q = 11; 
$n = $q * $p; 
$d = 3; 
$e = 7; 
$m = (($p - 1) * ($q - 1));
$k = ($e*3)%$m;
$textlen = strlen ($text);
 
for ($i=1; $i<$textlen+1; $i++)
{
$w = get_code($text[$i]);
//echo $w;
$c =pow($w, $e)% $n;
$msg .= $c;
}
 
return $msg;
}
 
function get_code ($value)
{
return (ord($value) - 64);
}
 
echo "- Encoding: \n";
echo encode_msg ("ABC");
?>
Опирался на этот алгоритм: Ссылка
Если, например, взять для проверки текст "ABC", то должно выводить "- Encoding: 1299", но почему-то выводит "- Encoding: 129-22". Методом проб определил, что переменная $c получает значение 9, но к переменной $msg почему-то добавляется -22, хотя должно добавляться 9. Прошу помощи в решении этой проблемы.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2015, 13:31
Ответы с готовыми решениями:

Шифрование текста с использованием слогов
Здравствуйте, имеется метод шифрования, в котором открытый объект(текст) делится на слоги...

Шифрование данных PHP
Доброго времени суток! Сразу скажу, что мои знания в php равняются нулю В этой строке нужно...

Шифрование PHP кода
Доброго времени суток, у меня вот такой вопрос. Чем шифруют этот код? &lt;?php...

Шифрование в форме php
&lt;form name=&quot;form&quot; form action=&quot;post&quot;&gt; &lt;div&gt;Код&lt;/div&gt; &lt;input name=&quot;Kod&quot; type=&quot;text&quot;&gt; ...

Обратимое шифрование в php
Простой пример : &lt;?php // Шифрование данных $кеу = &quot;это КЛЮЧ&quot;; $text = &quot;Сообщение, которое...

7
saden
183 / 167 / 52
Регистрация: 27.01.2013
Сообщений: 788
01.03.2015, 13:41 2
переполнение при возведении в степень
придецца переписывать возводилку по модулю
0
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
01.03.2015, 13:46  [ТС] 3
PHP
1
$c =pow($w, $e)% $n;
это?
Не могли бы подсказать, как это можно сделать?
0
saden
183 / 167 / 52
Регистрация: 27.01.2013
Сообщений: 788
01.03.2015, 13:48 4
да, это (скорее всего с огромной вероятностью)
возьми алгоритм быстрого возведения - их полно в Нете
0
01.03.2015, 13:48
pav1uxa
1888 / 1732 / 813
Регистрация: 23.01.2014
Сообщений: 6,133
Завершенные тесты: 1
01.03.2015, 14:27 5
Rakot568, Вот исправленный код:
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
<?php
function encode_msg ($text)
{
$p = 3; 
$q = 11; 
$n = $q * $p; 
$d = 3; 
$e = 7; 
$m = (($p - 1) * ($q - 1));
$k = ($e*3)%$m;
$textlen = strlen ($text);
$msg = "";
for ($i=0; $i<$textlen; $i++)
{
$w = get_code($text[$i]);
//echo $w;
$c =pow($w, $e)% $n;
$msg .= $c;
}
 
return $msg;
}
 
function get_code ($value)
{
return (ord($value) - 64);
}
 
echo "- Encoding: \n";
echo encode_msg ("ABC");
?>
у меня выводит
Код
- Encoding: 1299
1
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
01.03.2015, 15:37  [ТС] 6
Спасибо. Но как бы теперь еще расшифровку сделать? Вот что набросал:

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
function encode_msg ($text)
{
$p = 3; 
$q = 11; 
$n = $q * $p; 
$d = 3; 
$e = 7; 
$m = (($p - 1) * ($q - 1));
$k = ($e*3)%$m;
$textlen = strlen ($text);
$msg = "";
 
for ($i=0; $i<$textlen; $i++)
{
$w = get_code($text[$i]);
$c =pow($w, $e)% $n;
$msg .= $c;
}
 
 
return $msg;
}
 
function decode_msg ($text)
{
$p = 3; 
$q = 11; 
$n = $q * $p; 
$d = 3; 
$e = 7; 
$textlen = strlen ($text);
$dmsg = "";
 
for ($i=0; $i<$textlen; $i++)
{
//$w = get_code($text[$i]);
$c =pow($w, $d)% $n;
$w = chr($c+65);
$dmsg .= $w;
}
 
return $dmsg;
}
 
function get_code ($value)
{
return (ord($value) - 64);
}
 
 
echo "- Encoding: \n";
echo encode_msg ("ABC");
echo "\n- Decoding: \n";
echo decode_msg ("1299");
?>
Выводит "- Decoding: AAAA" вместо "- Decoding: AВС".
0
pav1uxa
1888 / 1732 / 813
Регистрация: 23.01.2014
Сообщений: 6,133
Завершенные тесты: 1
01.03.2015, 15:52 7
Цитата Сообщение от Rakot568 Посмотреть сообщение
Но как бы теперь еще расшифровку сделать? Вот что набросал:
Прошлый скрипт я исправил благодаря тому что у меня включены ошибки PHP кстати. Попробуйте так же включить их отображение, может поможет.
0
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
01.03.2015, 16:34  [ТС] 8
Сделал вот так:

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
function encode_msg ($text)
{
$p = 3; 
$q = 11; 
$n = $q * $p; 
$d = 3; 
$e = 7; 
$m = (($p - 1) * ($q - 1));
$k = ($e*3)%$m;
$textlen = strlen ($text);
$msg = "";
 
for ($i=0; $i<$textlen; $i++)
{
$w = get_code($text[$i]);
$c =pow($w, $e)% $n;
$msg .= $c;
do
{$msg .= '-';}
while ($i>$textlen);
}
 
 
return $msg;
}
 
function decode_msg ($text)
{
$p = 3; 
$q = 11; 
$n = $q * $p; 
$d = 3; 
$e = 7; 
$textlen = strlen ($text);
$dmsg = "";
 
a: for ($i=0; $i<$textlen; $i++)
{
$w=$text;
$c =pow($w, $d)% $n;
$dmsg = chr($c+64);
}
 
return $dmsg;
}
 
function get_code ($value)
{
return (ord($value) - 64);
}
 
 
echo "- Encoding: \n";
echo encode_msg ("CAB");
echo "\n- Decoding: \n";
$ec.=decode_msg ("9");
$ec.=decode_msg ("1");
$ec.=decode_msg ("29");
echo $ec;
?>
0
01.03.2015, 16:34
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2015, 16:34

Шифрование пароля на php mysql
Как сделать что бы код в бд записывался зашифрованным, а при авторизации она был декодирован Ниже...

Шифрование php кода? Серьезно?
Доброго времени суток. Тут, на форуме, увидел как некоторые личности расшифровывают и зашифровывают...

Работа с сессиями php и шифрование паролей
в чем суть. есть два УРЛА test1.ru/blog/ test1.ru/blog/index.php они вроде не отличаются, но ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru