Добавить больше хэша к существующему хеш-скрипту в нескольких файлах - PullRequest
2 голосов
/ 03 апреля 2019

У меня есть файлы сценариев php, которые хранят пароль к MySQL с использованием хеша md5

Вот некоторые из существующих кодов запросов в этих файлах php

some query part....,MD5('$pass'),.....some query part

В некоторых скриптах md5

в нижнем регистре.
some query part....,md5('$pass'),.....some query part

Моя цель - добавить еще один хеш к существующему коду, например, sh1

Таким образом, ожидаемый скрипт запроса должен быть таким:

some query part....,sh1(MD5('$pass')),.....some query part

в конце, текущий md5 не имеет значения, в нижнем или верхнем регистре

Я пытался использовать sed для замены этих файлов, но не повезло

sed -i 's/md5\(.*\)/sha1\(md5\(.*\)\)/gI' *.php

Кто-нибудь может мне помочь?

Спасибо

1 Ответ

0 голосов
/ 03 апреля 2019

Вы можете использовать

sed -i 's/\bmd5([^()]*)/sha1(&)/gI' *.php

Выражение POSIX BRE соответствует:

  • \b - граница слова
  • md5( - md5( подстрока
  • [^()]* - 0 или более символов, отличных от ( и )
  • ) - ) char.

Шаблон замены sha1(&) заменяет совпадение sha1(, затем значение совпадения, а затем ).

См. онлайн-демонстрацию :

s='some query part....,MD5('"'"'$pass'"'"'),.....some query part
some query part....,md5('"'"'$pass'"'"'),.....some query part'
sed 's/\bmd5([^()]*)/sha1(&)/gI' <<< "$s"

Вывод:

some query part....,sha1(MD5('$pass')),.....some query part
some query part....,sha1(md5('$pass')),.....some query part
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...