Bonjour.
Je dois intégrer des nouveaux membres (environ 1500) dans un forum PHPBB (logiciel open source de gestion de forum). Je dispose d'une table avec l'ID du membre, le mot de passe en clair et d'un champs password vide dans lequel je dois mettre le mot de passe hash avec autant de ligne que de membres.
Dans la table PHPBB des users les mots de passe sont "hash" en argon2id (méthode de hash).
Pour exemple voici ce que donne un champ user_password : $argon2id$v=19$m=65536,t=4,p=2$dGsxbVNFZ2M3bE5ZUGM1Lw$i6FsJaZK/Z32ACpWnjZ8xnnpuTV8YfPktsis8oy/aeU
On voit que le champ contient au début la méthode de hash et les paramètres qui suivent (v=19 m=65536 t=4 p=2)
Pour tester la méthode de hash voici un lien : https://argon2.online/
Dans le pack PHPBB il y a un répertoire avec des fichiers php pour la gestion des mots de passe. Je voudrais utiliser ce code php pour générer automatiquement les mots de passe. Voici 2 modules en php qui je pense pourraient me servir mais je n'y comprend rien et je n'ai aucune idée de comment les utiliser.
Voici le fichier convert_password.php
Voici le fichier argon2id.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php /** * * This file is part of the phpBB Forum Software package. * * @copyright (c) phpBB Limited <https://www.phpbb.com> * @license GNU General Public License, version 2 (GPL-2.0) * * For full copyright and license information, please see * the docs/CREDITS.txt file. * */ namespace phpbb\passwords\driver; class convert_password extends base { const PREFIX = '$CP$'; /** * {@inheritdoc} */ public function get_prefix() { return self::PREFIX; } /** * {@inheritdoc} */ public function hash($password, $user_row = '') { return false; } /** * {@inheritdoc} */ public function check($password, $hash, $user_row = array()) { return false; } }
Je connais un peu php, surtout pour exécuter des requètes SQL mais pas assez pour comprendre ce code. Si vous avez besoin d'autres éléments pour m'aider je suis à votre disposition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php /** * * This file is part of the phpBB Forum Software package. * * @copyright (c) phpBB Limited <https://www.phpbb.com> * @license GNU General Public License, version 2 (GPL-2.0) * * For full copyright and license information, please see * the docs/CREDITS.txt file. * */ namespace phpbb\passwords\driver; class argon2id extends argon2i { /** * {@inheritdoc} */ public function get_algo_name() { return 'PASSWORD_ARGON2ID'; } /** * {@inheritdoc} */ public function get_prefix() { return '$argon2id$'; } }
D'avance merci et bonne fin de journée.
Partager