@TheVitalya

Как заменить большое кол-во символов на другое?

Есть база данных с хешированными паролями, многие дехешировались. Надо заменить хешированные на дехешированные
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 4
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Заменять хешированные пароли на дехешированные можно при помощи замены. В базах данные это UPDATE.

P.S. Каков вопрос - таков и ответ, ни больше, ни меньше!
Ответ написан
Комментировать
Alex_Geer
@Alex_Geer
System Engineer
Через регулярные выражения. и функцию заменить все.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Выбираем какой-то из хеш рованных паролей, допустим это '463c3c4db9bdb077d504662053984ce0741d5a85586df0a6664486a2deededee', и нам известно что это sha265.
Дехешируем, получаем пароль 'КотикИ2'.
Делаем замену
UPDATE myTable SET password="КотикИ2" WHERE password="463c3c4db9bdb077d504662053984ce0741d5a85586df0a6664486a2deededee"

Все, победа, все пароли КотикИ2 дехешированы.
Повторяете для следующего хеша.
И возможно стоит добавить флаг, отмечающий какие записи вы уже обработали.
Ответ написан
@alexalexes
Перехешировать правильно те пароли, которые по значениям не похожи на хеш пароля.
Например, так можно перехешировать пароли в MySQL базе с помощью md5 функции.
UPDATE myTable
SET password = md5(password)
WHERE not (password REGEXP '^[0-9a-fA-F]{32}$' )

PS:
1) Для других алгоритмов (не md5) нужно подобрать другую регулярку, учитывающую длину хеша и алфавит хеша.
2) Перехеширование не учитывает использование соли. Нужно точно повторить шаги хеширования в SET, если применяется не только сама функция хеша в оригинальном алгоритме генерации пароля.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы