Можно ли "отменить" php str_shuffe? - PullRequest
0 голосов
/ 11 октября 2018

Мне просто интересно, можно ли повернуть функцию перестановки строк в php?

Например:

$shuffle = str_shuffle("popcorn");
echo $shuffle;

Если вы обновите страницу 3 раза, вы можете увидеть что-то вродеэто:

  • oroppcn
  • oppncro
  • opcrnop

и т.д. ...

Есть ли способ«Эрудит», что обратно в «попкорн»?

1 Ответ

0 голосов
/ 11 октября 2018

Если мы говорим об отмене действия str_shuffle, то это невозможно, несмотря на то, что в документации php говорится: «Эта функция не генерирует криптографически безопасные значения».Обратный алгоритм rand, используемый в str_shuffle, является нетривиальной криптографической задачей.

Но давайте фантазируем.Предположим, что если у нас есть словарь, то мы можем сделать это:

<?php

$list = array('apple', 'popcorn', 'banana');

$shuffle = str_shuffle("popcorn");

$letters = count_chars($shuffle,1);
foreach ($list as $word) {
  if ($letters == count_chars($word,1))
    echo "$word\n";
}

DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...