[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вернуть первоначальный текст
Dracula77
Здравствуйте уважаемые программисты!
Я не явлюсь PHP программистом, а только любителем, именно поэтому прошу помощи в разрешение данного вопроса!

Есть исходный текст который временно содержится в переменной $text, который циклом преобразуется в некоторый кошмар laugh.gif , который записывается в БД. Преобразование привожу ниже:


PHP
for ($i 0$i $suma; ++$i)  
{  
  
$ctxt .= $text[$i] ^ $dlina[$i $plong] ^ $bite $dbit;  
  
$bite $text[$i];  
}



Вопрос очень простой, как заполучить обратно исходный текст из $ctxt, который содержался в переменной $text, по данному алгоритму?
Тоесть вернуть обратно в исходный вид, тоесть провести эту операцию в обратном направлении !

$bite и $dbit известны !!!

Заранее благодарю за помощь !!!



Спустя 5 часов, 29 минут, 29 секунд (13.07.2009 - 09:12) ApuktaChehov написал(а):
Цитата (Dracula77 @ 13.07.2009 - 00:43)
Есть исходный текст который временно содержится в переменной $text, который циклом преобразуется в некоторый кошмар laugh.gif , который записывается в БД.

А зачем это делать?

Спустя 8 часов, 44 минуты, 7 секунд (13.07.2009 - 17:57) Dracula77 написал(а):
Цитата (ApuktaChehov @ 13.07.2009 - 06:12)
А зачем это делать?

Странный вопрос, чтобы можно было прочитать побитый текст и чтобы этот алгоритм можно было применить например для шифрования текста или паролей, но по нормальному. Один "народный" умелец без моего ведома влупил эту вещь родственникам и вот сижу чешу репу и пытаюсь придумать как восстановить побитый XOR(ом) текст. sad.gif

Спустя 1 час, 24 минуты, 33 секунды (13.07.2009 - 19:21) kirik написал(а):
Цитата (Dracula77 @ 13.07.2009 - 09:57)
Один "народный" умелец без моего ведома влупил эту вещь родственникам и вот сижу чешу репу и пытаюсь придумать как восстановить побитый XOR(ом) текст.

А можешь весь код выложить, рабочий с примером?

Спустя 1 час, 2 минуты, 19 секунд (13.07.2009 - 20:23) Dracula77 написал(а):
С помощью добрых людей удалось это сделать!
Прикладываю пример, для тех кому это нужно:

PHP
<?php
$input 
'Просто супер крутой текст, который надо извратить и восстановить';

$text $input;

// ключи
$ckey 'xGbvdeekRjQFRmyKEyX5Uan880YYEtoVmQ6JCdCNWkhd9TkKhFSaQE';
$dlina strlen($ckey);
$shifr md5($ckey);
$bite $shifr[3];
$dbite $shifr[1];
$suma strlen($text);
$ctxt '';

// шифруем текст XOR
for ($i 0$i $suma; ++$i) {  
  
$ctxt .= $text[$i] ^ $ckey[$i $dlina] ^ $bite $dbite;  
  
$bite $text[$i];  
}

echo 
'<font color=red>Зашифрованный текст [</font> '.$ctxt.' <font color=red>]</font><br>';

///////////////////////////////////////
// Вторая часть - расшифровка текста //
///////////////////////////////////////

$txt $ctxt;

// ключи
$ckey 'xGbvdeekRjQFRmyKEyX5Uan880YYEtoVmQ6JCdCNWkhd9TkKhFSaQE';
$dlina strlen($ckey);
$shifr md5($ckey);
$bite $shifr[3];
$dbite $shifr[1];
$suma strlen($txt);
$cctxt '';

// расшифровываем XOR
for ($i 0$i $suma; ++$i) {
    
$key $ckey[$i $dlina] ^ ($i $cctxt[$i-1] : $bite) ^ $dbite;
    
$cctxt .= $txt[$i] ^ $key;

echo 
'<font color=red>Расшифрованный текст [</font> '.$cctxt.' <font color=red>]</font><br>';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.