Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифр частокола! розшифровка 
:(
    Опции темы
kashmir18
Дата 14.2.2011, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 16.2.2008

Репутация: нет
Всего: -5



есть задание сделать прогу для розшифровки шифра частокола. Вот кое-что написал - но оно роботает только для анг. язика, а мне нада для руского (точнее для украинского). помогите если не трудно

Код

<? 
echo ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';





echo "<form action='chustokol.php'> <input type='text' name='kod' size='20' >Код для дешифровки.<br><input type='text' name='kluch' size='10'>Ключ.<br><input type='submit' value='Розшифровать!!' size='20' > </form>";

class chustokol {
   public $kod;
   public $kluch;
   public $mas; 
   private $len;
   private $slovo,$verh,$pc,$dc,$os,$lu,$gg,$co; 
   function scklad($mas) { 
    $napram=1;
    for($i=0, $j=$this->kluch-1,$l=0;$this->len>$l;$l++) { 
  
     
     
     if($napram) {
       
        
        $pro=$mas[$j];   $this->slovo[$l]=$pro[0]; $pro=substr($pro,1,$this->kluch+1); $mas[$j]=$pro; $i++; $j--;
        if($i==$this->kluch-1) { $napram=0;  }   } 
        else     { $pro=$mas[$j];      $this->slovo[$l]=$pro[0];  $pro=substr($pro,1,10); $mas[$j]=$pro; $j++;
            $i--;
            if($i==0) { $napram=1;  } 
            }   
        } 
        for($i=0;$this->len>$i;$i++)  { echo  $this->slovo[$i]; } }  
   function vuvid() {
    $this->len=strlen($this->kod);
    $this->dc=($this->kluch-2)+$this->kluch;
    $this->verh=($this->len+($this->kluch-2))/$this->dc;
    $this->verh=(int) $this->verh;
    $this->os=$this->len%$this->dc;
    $this->pc=$this->len/$this->dc;
    
     if ($this->pc > $this->verh) {                                 // Забагато.
       $this->mas[0]=substr($this->kod,0,$this->verh);
       $this->lu=$this->kluch-$this->os;
       
       
       $this->mas[0]=substr($this->kod,0,$this->verh); //Довжина верхніх точок.
            $this->co=strlen($this->mas[0]);                       //Рахунок символів.
              for($i=1;$i<$this->kluch-1;$i++) { 
                if($i==1) { 
                            $this->gg=strlen($this->mas[$i-1])*2;  
                            if($i==$this->lu ) { $this->gg++; $this->lu=0;} 
                                      
                            $this->mas[$i]=substr($this->kod,$this->co,$this->gg);  
                            $this->co=$this->co+strlen($this->mas[$i]);  }
                            
                            if($i!=1) {
                                $this->gg=strlen($this->mas[$i-1]);  
                                       if($i==$this->lu ) { $this->gg++; $this->lu=0; } 
                                        
                            $this->mas[$i]=substr($this->kod,$this->co,$this->gg);
                            $this->co=$this->co+strlen($this->mas[$i]); 
                                
                            } }
                            $this->mas[$this->kluch-1]=substr($this->kod,$this->co,strlen($this->kod)-strlen($this->co));
       
      
        }  
        else  {                                               // Не хватає і рівно .
            $this->lu=$this->dc-$this->os;                   // Лишнів символи
            
            
            $this->mas[0]=substr($this->kod,0,$this->verh); //Довжина верхніх точок.
            $this->co=strlen($this->mas[0]);                       //Рахунок символів.
              for($i=1;$i<$this->kluch-1;$i++) { 
                if($i==1) { 
                            $this->gg=strlen($this->mas[$i-1])*2;  
                            if($this->lu>0 ) { $this->gg--; $this->lu--;} 
                                      
                            $this->mas[$i]=substr($this->kod,$this->co,$this->gg);  
                            $this->co=$this->co+strlen($this->mas[$i]);  }
                            
                            if($i!=1) {
                                $this->gg=strlen($this->mas[$i-1]);  
                                       // if($this->lu>0 ) { $this->gg--;  $this->lu--;} 
                                        
                            $this->mas[$i]=substr($this->kod,$this->co,$this->gg);
                            $this->co=$this->co+strlen($this->mas[$i]); 
                                
                            }
           }
           $this->mas[$this->kluch-1]=substr($this->kod,$this->co,strlen($this->kod)-strlen($this->co));
            
        
            
            }
    
     
    
    
    return $this->mas; } 
    }

$shufr=new chustokol();
$shufr->kod=$_GET['kod'];
$shufr->kluch=$_GET['kluch'];

$shufr->scklad($shufr->vuvid());

 ?>

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0677 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.