Как сгенерировать пароль клиента из соли

#mysql #encryption

#mysql #шифрование

Вопрос:

У меня есть ПЛК, который не может использовать какой-либо из соединителей MySQL. Итак, я хочу создать свой собственный очень простой соединитель, просто для вставки значений непосредственно в MySQL.

При подключении к MySQL я получаю строку соли типа «HZo? WV-w5> ygxH; 1%`6», и у меня есть пароль пользователя «пароль». Как мне вычислить пароль в ответе на подключение?

Вот пример из wireshark

Комментарии:

1. Будьте осторожны. Ни одна из встроенных функций MySQL не подходит для хэширования паролей. Даже в его собственной документации для PASSWORD() функции говорится: «вы не должны использовать ее в своих собственных приложениях». Затем он предлагает вместо этого использовать MD5 или SHA2. Это плохой совет . MD5 уже сломан, а SHA2 не подходит, потому что он слишком легкий в вычислительном отношении. Гораздо лучшим решением является использование bcrypt .

2. Я знаю, что MD5 я сломал, но это не мой вопрос. Я хочу войти в MySQL как клиент. Я получаю приветствие от MySQL, и в этой телеграмме есть СОЛЬ, которую я должен использовать вместе с данными пользователя, чтобы ответить на пароль. Я не знаю, как вычислить пароль. Какой алгоритм использовать. Это моя проблема.