Convertir le cryptage de MDP d'une BDD à une autre

Résolu/Fermé
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 - 11 août 2013 à 08:23
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 - 12 août 2013 à 09:38
Bonjour,

Je souhaiterai transférer les membres de mon site actuel vers un nouveau site (sur un nouveau CMS qui n'utilise pas le même cryptage des mots de passe dans la base SQL)

Je voudrai donc savoir s'il est possible de convertir un mot de passe crypté d'une façon vers un autre cryptage ?
Je pense que le plus simple serai de décrypter les mots de passe actuel, pour ensuite les recrypter dans le cryptage utilisé par le nouveau site.

Pour plus de détails, voici à quoi ressemble un mot de passe crypté sur mon site actuel :
25f9e794323b453885f5181f1b624d0b

Et à quoi il ressemble sur le nouveau site :
6da3aaa06cdb4d027c845c6795b8f5c43dcb30ec24c50333939d4fde1d39cd17

Je cherche donc un moyen de trouver le 2éme mot de passe à partir du 1er, via des fonctions PHP .

J'espère que mon message reste suffisamment claire et compréhensible.
Et je remercie d'avance toutes les personnes qui ont pris la peine de lire ma demande voir d'y répondre.

4 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
11 août 2013 à 15:05
Salut, ce que tu demandes n'est pas possible:
tu cherches ici à passer d'un hashage MD5 à SHA256.
Le but des hash est de pouvoir faire une vérification dans un seul sens, ne pas pouvoir retrouver le mot de passe à partir du hash.
Pour re-hasher avec un autre algorithme, il faut avoir les données originales, or tu ne peux pas les retrouver... tu te retrouves donc coincé. Et redemander le mot de passe à tous les utilisateurs est une manipulation plutôt... douteuse?

Après si tu peux changer le code du login, tu peut faire un SHA256 du MD5. Foireux mais ça marche, mais pas plus sécurisé du point de vue des collisions de hash MD5.
1
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
Modifié par kisscool387 le 11/08/2013 à 15:42
Salut, gravgun !
Et merci beaucoup pour ta réponse.

récupérer les MDP des membres, c'est impossible, il y en a 3800 !
Alors la seule solution que je vois, ça serai de générer un nouveau mot de passe en SHA256 pour chaque membres, et de leurs communiquer par email.
(un genre d'algorithme entre son pseudo et ça date d'inscription par exemple)
Et aprés il faut que je crypte la valeur de l'algorithme en SHA256 pour l'entrer dans la nouvelle BDD.
Seulement je ne sais pas comment crypter un MDP brut en SHA256 ?
Tu pourrais m'aider sur ça ?
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
11 août 2013 à 16:08
Je crois que j'ai trouvé au faite.
Si je fait ça :

$pass1 = substr($pseudo, 0, 4);
$pass2 = substr($timeinscrit, 0, 4);
$pass = "$pass1$pass2";

$newpass = hash('sha256', '$pass');


normalement j'aurai "pass" égale au nouveau MDP généré et "newpass" égale au nouveau MDP crypté en SHA256 ?

Ensuite, j'aurai plus que a mettre "newpass" dans la nouvelle BDD et envoyer "pass" par mail au membre concerné.
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
11 août 2013 à 16:36
Oui comme ça c'est faisable. Mais ici ce n'est pas très sécurisé: suffit que l'info de la date d'enregistrement soit accessible au public pour pirater un compte, vu que le mdp est juste le nom + la date. Ajoute des chiffres/caractères au hasard, par exemple avec cette fonction pour compliquer la tâche d'éventuelles personnes mal intenentionnées.
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
Modifié par kisscool387 le 11/08/2013 à 16:47
Merci, je viens de tester, mais ça ne fonctionne pas !
En faite, j'ai vérifier, et le hachage SHA256 ne me donne pas le même réusltat que celui généré par mon nouveau site pour le même mot de passe.
j'ai donc essayé avec tout ça :

md4
md5
crc32b
crc32
sha1
tiger128,3
haval192,3
haval224,3
tiger160,3
haval160,3
haval256,3
tiger192,3
haval128,3
tiger192,4
tiger128,4
tiger160,4
haval160,4
haval192,4
haval256,4
adler32
haval128,4
haval224,4
ripemd256
haval160,5
haval128,5
haval224,5
haval192,5
haval256,5
sha256
ripemd128
ripemd160
ripemd320
sha384
sha512
gost
whirlpool
snefru
md2

Et aucun ne me donne le même résultat que sur mon nouveau site.
Peut être que il y a un 2éme cryptage derrière le hachage ?
Si c'est ça, je suis pas sortie de l'auberge !
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
12 août 2013 à 09:38
J'ai demandé à l'éditeur du CMS,
et il m'a répondu que il ajouté un prefix aux mots de passe (calculé aléatoirement lors de l'installation)
Ce prefix était dans le config.php

Mais comme il m'a donné aussi l'emplacement exact où se trouve le cryptage du mot de passe, je vais tout simplement remplacer le "SHA256" par "MD5" comme ça je n'aurai pas besoin de changer les mots de passe.

1000 merci à toi gravgun, car sans ton aide, je n'y serai jamais arrivé.
0