Joomla 3.2.1 chiffrement de mot de passe
Lors de l'enregistrement de l'utilisateur sur le site , et je regarde dans la base de données joomla_users le mot de passe de la table, il y a un mot de passe stocké dans les formats suivants:
- $P$Do8QrURFT1r0NlWf0X/grdF/aMqwqK/
- $P$DH38Lch9z508gJiop3A6u0whTity390
- ........
Mais pas dans la forme comme décrit dans la documentation (MD5 + ":" + SEL):
- 1802ebc64051d5b4f4d1b408babb5020:0PHJDbnsyX05YpKbAuLYnw2VCzFMW2VK
J'ai besoin de cette clarifié pour moi, parce que je suis une utilisation à l'extérieur script qui vérifie les informations d'identification d'utilisateur pour vérifier le mot de passe.
Dans mon script PHP, j'ai un code qui sépare le SEL de mot de passe de la base de données:
$parts = explode( ':', $password_database );
$crypt = $parts[0];
$salt = $parts[1];
Mais je ne peux pas le faire si il n'y a pas de dobule noeud (:)
source d'informationauteur Gregor
Vous devez vous connecter pour publier un commentaire.
Essayer cela,
Le morceau de code suivant est la création de Joomla mot de passe standard (ancienne Version 1.5,1.7, etc).
Joomla 3.2+ introduit PHP algorithme de mot de passe bcrypt mais il faut un minimum de PHP 5.3+ Si vous prévoyez d'utiliser bcrypt assurez-vous que votre serveur de la version de PHP est capable pour cela, lire la suite ici.
L'autre Version de Joomla en Utilisant les méthodes suivantes (Joomla 3.x)
Les plus âgés de l'algorithme fonctionne aussi très bien dans la dernière version , la seule différence est l'ancienne version crée un 65 caractères du mot de passe et un nouveau crée 34 chaîne de caractères. toujours aller avec la version mise à jour
Aussi, si vous êtes à l'aide de script externe devrait inclure Joomla framework comme ci-dessous. Cela devrait au plus haut de votre fichier php
Aussi vous avez mentionné que vous avez à vérifier des utilisateurs d'informations d'identification, puis pas besoin de vérifier le format de mot de passe et tout cela vient de l'utilisation ci-dessous les codes d'après le cadre des charges.
espère que cela aide..
Joomla par défaut de l'utilisateur de la classe n'utilise plus salé MD5 pour hacher le mot de passe. La fonction de liaison de la
JUser
classe appelle maintenantJUserHelper::hashPassword($array['password'])
pour crypter le mot de passe.Cette fonction est actuellement ceci:
Ce qui signifie qu'il repose désormais sur PHPass qui vous pouvez en lire plus ici: http://www.openwall.com/phpass/. Basé sur la lecture de l'intro de ce site, je suppose que le chiffrement est maintenant
bcrypt
au lieu de MD5, mais Joomla peuvent avoir remplacé le cryptage par défaut.Avec David Fritsch réponse je fais un mot de passe crypté que Joomla n':
Noter que vous devez stocker le fichier dans joomla répertoire de racine, ou de modifier JPATH_BASE.