![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
В общем суть простая.. Был сайт в кодировке window-1251 и соответственно пароли в базе хэшировались в этой кодировке. Потом сайт стал в кодировке UTF-8, данные в базе конвертнул в utf-8, но вот что делать с паролями..
Есть ли возможность преобразовать md5(window-1251) в md5(utf-8)? Или всё же только перерегистрация? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
только если есть исходные пароли Добавлено через 27 секунд можно воспользоваться iconv'ом для перекодирования utf8 в cp1251. -------------------- Amazing |
|||
|
||||
| srt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 13.5.2008 Репутация: нет Всего: 1 |
на форму входа можно обработку введённых данных в кодировке ср1251 повесить
можно вновь регистрирующихся отслеживать и тд. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
я в шоке.. но кажется получилось... тогда не понимаю хэш.. ведь русская буква имеет разное числовое значение в разных кодировках...
может ещё кто подтвердит что простой iconv помогает? Добавлено через 1 минуту и 22 секунды srt, легче заставить всех восстановить пароль у кого не подходит. чем создавать обработчик Это сообщение отредактировал(а) Gold Dragon - 24.6.2011, 10:22 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 1 Всего: 10 |
||||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
ну я вообще-то думал что
текст в win не равно текст в utf... а значит и хеш должен быть разный.. и уже хеш в win просто не конвертируется в хеш в utf -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| patap |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: 26 Всего: 40 |
как вариант, можно в принципе, в неявном для юзеров виде, изменять пароль при входе.
1. добавить поле в базу, что-то типа новый_пароль, установить его в 0 для всех юзеров 2. юзер вводит свои данные 3. хэшируем пароль в 1251 и в utf 4. пытаемся залогиниться, следующим запросом
5. если юзер зашел, проверить поле new_pass - если оно равно 0 - то переписать старый хэш на утэфовский, и установить new_pass в 1 - если равно 1 - ничего не делать 6. и так пока все юзере не перепишут себе хэши. ну а новых разумется писать уже в утф. если оно того стоит конечно... Это сообщение отредактировал(а) patap - 24.6.2011, 10:54 -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 1 Всего: 10 |
||||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
т.е. получается.. в базе у меня пароли в кодировке win-1251 преобразованные md5
Чтобы пароли принимались на сайте где всё теперь работает в utf-8 достаточно только преобразовать хэш в базе, так? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
нет. Смотри, у тебя сейчас сайт в utf8, а пароли остались в cp1251. С помощью iconv преобразовали utf8 в cp1251, а затем сделали их хэш. -------------------- Amazing |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
так пароли то закрыты MD5
Добавлено через 12 минут и 59 секунд вот кое что написал для проверки
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
пользователь вводит пароль, строка в скрипте оказывается в кодировке utf-8, затем ты её конвертишь в cp1251, а от него берёшь хэш. и уже этот хэш и сравниваешь с тем хэшем, который в БД. то есть сравниваемые строки оказываются в одинаковых кодировках перед взятием хэша |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
bars80080, мне нужно старую базу паролей перегнать
А пример кода я показал что хэш конвертируется и результат вроде одинаковый -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
так я про это и говорю... Это сообщение отредактировал(а) Gold Dragon - 24.6.2011, 16:47 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |