2010-10-08 23 views
6

Chcę zrobić skrypt, aby wprowadzić około 100 użytkowników do bazy danych Drupal 6 - ich nazwy użytkownika, adresu e-mail i hasła.Jaka funkcja zwraca wartość skrótu z hasłem Drupal-6?

Po przeczytaniu o klasie PHP, której używa Drupal 6, nie jestem pewien, czy mogę ją usunąć. Moja metoda polegała na wysłaniu każdemu użytkownikowi takiej wiadomości, jak "Cześć, x! Twoje nowe hasło to y", a następnie wstawienie skrótu "y" do tabeli użytkowników Drupala.

Wiem, że Drupal zwraca wartość md5. Ale to nie tylko md5 to oryginalne hasło, ale bardzo pomieszane hasło (używając soli i innych metod).

Sprawdziłem, używając Drupala, ale uważam, że nie działa to tylko metodą kopiowania i wklejania.

Moje pytanie brzmi: czy mogę utworzyć funkcję PHP, która zwróci poprawny skrót hasła Drupal 6, aby wstawić go do tabeli użytkownika?

+1

czy nie możesz po prostu zajrzeć do źródeł Drupala? – Andrey

+1

Jak rozumiesz, że nie? – nevvermind

Odpowiedz

7

W rzeczywistości, Drupal 6 ma nie użyć żadnej soli do obliczenia skrótu hasła. To po prostu md5 hasła

Możesz spróbować tego dla siebie. Ustaw swoje hasło na coś.

Oblicz md5 swojego hasła (dla wygody możesz użyć tego linku: http://www.miraclesalad.com/webtools/md5.php).

Znajdziecie że hash przechowywane w bazie danych w tabeli users w kolumnie pass będzie dokładnie takie same

Takie zachowanie dla domyślnej instalacji Drupal 6 (zachowanie może być zmienione dla Drupala 7). Tylko jeśli masz zainstalowany specjalny moduł, zachowanie będzie inne dla Drupala 6.

+0

Tak, po jakimś czasie gry hazardowej, też to sobie uświadomiłem. myślałem inaczej. no, md5() JEST odpowiedzią na moje pytanie – nevvermind

4

Jeśli programujesz użytkowników programowo, powinieneś samodzielnie utworzyć hasło w postaci zwykłego tekstu, a następnie użyć funkcji user_save(), aby wstawić użytkownika do bazy danych. Ta funkcja będzie mieszać i zapisywać wszystko dla ciebie.

+0

Dziękuję. Myślę, że właśnie tego szukałem. – nevvermind

+0

@nush: Wygląda na to, że jesteś nowy w StackOverflow ... możesz chcieć "zaakceptować" odpowiedź. Jeśli uważasz, że to (lub jakakolwiek inna odpowiedź) jest "poprawną" odpowiedzią, kliknij zielony znacznik pod pytaniem. –

2

Istniejący moduł user import wygląda na to, że będzie działał w przypadku importowania użytkowników zbiorczych. To nie odpowiada na pytanie "jak mogę haszować hasło", ale wyeliminowałoby potrzebę niestandardowego (prawdopodobnie bardziej podatnego na błędy) skryptu.

+0

Dzięki za cynk. Przyjrzę się temu. – nevvermind