Есть ли способ проверить, зашифрована ли строка в perl? - PullRequest
0 голосов
/ 09 декабря 2010

Мне было интересно, есть ли способ «проверить», чтобы увидеть, зашифрована ли конкретная строка или нет.Я использую Crypt :: CBC для шифрования пароля с помощью Rijndael.

В моем сценарии есть «переключатель», который либо установлен в 0, либо в 1, что говорит о погоде сценария, или пароль не должен бытьпройдена фаза дешифрования, чтобы быть прочитанной.

Я хотел бы исключить эту фазу, если смогу.

Причина в том, что я пытаюсь помешать пользователям сценария, возможно, представитьсценарий с ситуацией, когда пароль зашифрован, но для «switch» было установлено значение 0, что означает, что он не зашифрован, поскольку это приведет к огромному «железнодорожному кораблекрушению».

Ответы [ 2 ]

3 голосов
/ 09 декабря 2010

измените ваши приложения, чтобы пароли хранились только в зашифрованном виде. растерянность исчезла.

1 голос
/ 09 декабря 2010

Rijndael имеет размер блока 128 битов, поэтому выход всегда будет кратным этому.

Если зашифрованные пароли имеют шестнадцатеричное кодирование, то это даст вам строки, кратные 32 символам. Фактически, с добавленным IV, строки всегда будут содержать не менее 64 символов: 128 бит IV, за которыми следуют 128 бит блока зашифрованного текста 1.

Поэтому вы можете искать строки правильной длины, которые содержат только [0-9a-f]. Они вероятно зашифрованы, потому что я подозреваю, что немногие люди могут использовать 64-символьную строку случайности в качестве своего реального пароля.

Если они закодированы в base64, тогда строки будут разной длины, очевидно.

Это не гарантирует, что вы всегда сможете обнаружить зашифрованный пароль, но, вероятно, это не так уж и плохо.

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