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

Résolu
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

  1. Contributeur
    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
    1. 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
      1. 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
        1. Contributeur
          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
        2. 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
      2. 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