fork download
  1. <?php
  2.  
  3. $code = array(
  4. 'а' => '1', 'б' => '2', 'в' => '3', 'г' => '4',
  5. 'д' => '5', 'е' => '6', 'ё' => '7', 'ж' => '8',
  6. 'з' => '9', 'и' => '0', 'й' => '!', 'к' => '@',
  7. 'л' => '#', 'м' => '$', 'н' => '%', 'о' => '^',
  8. 'п' => '&', 'р' => '*', 'с' => '(', 'т' => ')',
  9. 'у' => '-', 'ф' => '_', 'х' => '=', 'ц' => '+',
  10. 'ч' => '[', 'ш' => ']', 'щ' => '{', 'ъ' => '}',
  11. 'ы' => '|', 'ь' => '~', 'э' => ':', 'ю' => ';',
  12. 'я' => '?', '.' => '.', ' ' => ' '
  13. );
  14.  
  15. $decode = array_flip($code);
  16.  
  17. $text = 'нас предали. явка провалена.';
  18. $cipher = strtr($text, $code);
  19. $decoded = strtr($cipher, $decode);
  20.  
  21. echo "Оригинал: {$text}\n";
  22. echo "Шифровка: {$cipher}\n";
  23. echo "Расшифровка: {$decoded}\n";
  24.  
  25. $alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
  26. $testCipher = strtr($alphabet, $code);
  27. $testBack = strtr($testCipher, $decode);
  28. echo ($testBack === $alphabet)
  29. ? "Алфавит шифруется и расшифровывается корректно\n"
  30. : "ОШИБКА расшифровки: {$testBack}\n";
Success #stdin #stdout 0.02s 25820KB
stdin
Standard input is empty
stdout
Оригинал: нас предали. явка провалена.
Шифровка: %1( &*651#0. ?3@1 &*^31#6%1.
Расшифровка: нас предали. явка провалена.
Алфавит шифруется и расшифровывается корректно