Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: base64 to md5

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
trancefer
Отправлено: 25 Ноября, 2011 - 16:53:32
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Здравствуйте. База mysql 5.0
Нужно из одной бд перенести данные аккаунтов в другую. Дело в том что пароли в старой базе зашифрованы в base64, а нужно перенести их шифроваными в md5.
Подскажите пожалуйста как это сделать делать?

(Отредактировано автором: 25 Ноября, 2011 - 16:57:57)

 
 Top
OrmaJever Модератор
Отправлено: 25 Ноября, 2011 - 17:00:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




каждый пароль расшифровать base64_decode() и зашифроват ьв md5()


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
trancefer
Отправлено: 25 Ноября, 2011 - 19:29:22
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




решение:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $dbhost = "localhost";
  3. $dbuser = "root";
  4. $dbpassword = "root";
  5. $dbname = "shop";
  6.  
  7. $connect = mysql_connect($dbhost,$dbuser,$dbpassword);
  8. mysql_select_db($dbname, $connect);
  9. $query = mysql_query('SELECT customer_id, password FROM `customer`');
  10.  
  11. // change password
  12. while ($row = mysql_fetch_assoc($query)) {
  13.         mysql_query('UPDATE `customer` SET password = "'.md5(base64_decode($row['password'])).'"
  14.  WHERE customer_id = '.$row['customer_id']);
  15. }
  16. ?>
 
 Top
OrmaJever Модератор
Отправлено: 25 Ноября, 2011 - 21:57:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




ну раз записываете в одну и туже таблицу то можно и одним запросом
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `customer` SET `password` = md5(base64_decode(`password`)) WHERE `customer_id` = '.$row['customer_id']

Я не проверял но помоему в mysql есть функции base64_decode и md5


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB