diff options
| -rw-r--r-- | phpBB/config/default/container/parameters.yml | 1 | ||||
| -rw-r--r-- | phpBB/config/default/container/services_password.yml | 6 | ||||
| -rw-r--r-- | phpBB/phpbb/passwords/driver/argon2id.php | 33 | ||||
| -rw-r--r-- | tests/passwords/drivers_test.php | 4 | 
4 files changed, 44 insertions, 0 deletions
| diff --git a/phpBB/config/default/container/parameters.yml b/phpBB/config/default/container/parameters.yml index dc46a60268..8fcb401914 100644 --- a/phpBB/config/default/container/parameters.yml +++ b/phpBB/config/default/container/parameters.yml @@ -14,6 +14,7 @@ parameters:      # List of default password driver types      passwords.algorithms: +        - passwords.driver.argon2id          - passwords.driver.argon2i          - passwords.driver.bcrypt_2y          - passwords.driver.bcrypt diff --git a/phpBB/config/default/container/services_password.yml b/phpBB/config/default/container/services_password.yml index 937f656f7c..a9adbebfd7 100644 --- a/phpBB/config/default/container/services_password.yml +++ b/phpBB/config/default/container/services_password.yml @@ -41,6 +41,12 @@ services:          tags:              - { name: passwords.driver } +    passwords.driver.argon2id: +        class: phpbb\passwords\driver\argon2id +        parent: passwords.driver.argon2i +        tags: +            - { name: passwords.driver } +      passwords.driver.bcrypt:          class: phpbb\passwords\driver\bcrypt          arguments: diff --git a/phpBB/phpbb/passwords/driver/argon2id.php b/phpBB/phpbb/passwords/driver/argon2id.php new file mode 100644 index 0000000000..9e4b08bbb9 --- /dev/null +++ b/phpBB/phpbb/passwords/driver/argon2id.php @@ -0,0 +1,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$'; +	} +} diff --git a/tests/passwords/drivers_test.php b/tests/passwords/drivers_test.php index 547ee33f2e..8300431dfe 100644 --- a/tests/passwords/drivers_test.php +++ b/tests/passwords/drivers_test.php @@ -24,6 +24,7 @@ class phpbb_passwords_helper_test extends \phpbb_test_case  		$this->passwords_drivers = array(  			'passwords.driver.argon2i'	=> new \phpbb\passwords\driver\argon2i($config, $this->driver_helper), +			'passwords.driver.argon2id'	=> new \phpbb\passwords\driver\argon2id($config, $this->driver_helper),  			'passwords.driver.bcrypt_2y'	=> new \phpbb\passwords\driver\bcrypt_2y($config, $this->driver_helper, 10),  			'passwords.driver.bcrypt'	=> new \phpbb\passwords\driver\bcrypt($config, $this->driver_helper, 10),  			'passwords.driver.salted_md5'	=> new \phpbb\passwords\driver\salted_md5($config, $this->driver_helper), @@ -427,6 +428,9 @@ class phpbb_passwords_helper_test extends \phpbb_test_case  			array('passwords.driver.argon2i', '$argon2i$v=19$m=128,t=2,p=2$M29GUi51QjdKLjIzbC9scQ$6h1gZDqn7JTmVdQ0lJh1x5nyvgO/DaJWUKOFJ0itCJ0', true),  			array('passwords.driver.argon2i', '$argon2i$v=19$m=1024,t=1,p=2$UnFHb2F4NER3M0xWWmxMUQ$u3javvoAZJeIyR1P3eg0tb8VjEeXvQPagqwetonq1NA', true),  			array('passwords.driver.argon2i', '$argon2i$v=19$m=1024,t=2,p=1$bm5SeGJ3R3ZRY1A0YXJPNg$v1A9m4sJW+ge0RBtpJ4w9861+J9xkguKBAsZHrG8LQU', true), +			array('passwords.driver.argon2id', '$argon2id$v=19$m=1024,t=2,p=2$MXB4OW5sczE5TnFPYkEuYQ$2bxaMIp8+9x37O6v8zkqpBU72ohCibUrtgVZw7vyr5Q', false), +			array('passwords.driver.argon2id', '$argon2id$v=19$m=128,t=2,p=2$RWV2VFAuWXk5bTVjbktOLg$Nt7Z7koa25SVRSKr3RKqjwKz26FENDuU+aL1DfMcWRo', true), +			array('passwords.driver.argon2id', '$argon2id$v=19$m=1024,t=1,p=2$Rmw5M21IUFZDVEltYU0uTA$GIObGbHV6sOw5OQEtF8z+2ESztT96OWhCk17sUlwLAY', true),  		);  	} | 
