Сенсей
Новичок
Непраивльная работа md5 с UTF8 - как починить?
Есть сайт. 30K юзеров. Работал на кодировке windows-1251
Переконвертировал недавно его на UTF-8 (как базу так и нужные файлы)
Теперь люди у кого был пароль из русских букв - не могут зайти на сайт. Проверяю:
Пример - пароль стомфак
В базе хеш пароля который был создан с md5('стомфак')в windows-1251 - 2d3ef9ec2d1bdabd5a8ab4ad6850ea44
Хешь который выдает MySql - SELECT md5( 'стомфак' ) ; - 506684b4eb99f1cbf8f32cc591730ce6
Хешь который выдает теперь PHP с UTF8 - md5('стомфак') - 506684b4eb99f1cbf8f32cc591730ce6
Как быть?
Решение $auth_password = iconv('utf-8','windows-1251',$auth_password); - отпадает так как уже есть юзеры которые регистрировались с кодировкой UTF8 - и еслиу них пароль русскими буквами - то уже они не смогут войти.
Есть сайт. 30K юзеров. Работал на кодировке windows-1251
Переконвертировал недавно его на UTF-8 (как базу так и нужные файлы)
Теперь люди у кого был пароль из русских букв - не могут зайти на сайт. Проверяю:
Пример - пароль стомфак
В базе хеш пароля который был создан с md5('стомфак')в windows-1251 - 2d3ef9ec2d1bdabd5a8ab4ad6850ea44
Хешь который выдает MySql - SELECT md5( 'стомфак' ) ; - 506684b4eb99f1cbf8f32cc591730ce6
Хешь который выдает теперь PHP с UTF8 - md5('стомфак') - 506684b4eb99f1cbf8f32cc591730ce6
Как быть?
Решение $auth_password = iconv('utf-8','windows-1251',$auth_password); - отпадает так как уже есть юзеры которые регистрировались с кодировкой UTF8 - и еслиу них пароль русскими буквами - то уже они не смогут войти.