Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
md5_vb
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
4 / 4
7
100.00% covered (success)
100.00%
1 / 1
 get_prefix
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 is_legacy
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 hash
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 check
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
4
1<?php
2/**
3*
4* This file is part of the phpBB Forum Software package.
5*
6* @copyright (c) phpBB Limited <https://www.phpbb.com>
7* @license GNU General Public License, version 2 (GPL-2.0)
8*
9* For full copyright and license information, please see
10* the docs/CREDITS.txt file.
11*
12*/
13
14namespace phpbb\passwords\driver;
15
16class md5_vb extends base
17{
18    const PREFIX = '$md5_vb$';
19
20    /**
21    * {@inheritdoc}
22    */
23    public function get_prefix()
24    {
25        return self::PREFIX;
26    }
27
28    /**
29    * {@inheritdoc}
30    */
31    public function is_legacy()
32    {
33        return true;
34    }
35
36    /**
37    * {@inheritdoc}
38    */
39    public function hash($password, $user_row = '')
40    {
41        // Do not support hashing
42        return false;
43    }
44
45    /**
46    * {@inheritdoc}
47    */
48    public function check($password, $hash, $user_row = array())
49    {
50        if (empty($hash) || strlen($hash) != 32 || !isset($user_row['user_passwd_salt']))
51        {
52            return false;
53        }
54        else
55        {
56            // Works for vB 3.8.x, 4.x.x, 5.0.x
57            return $this->helper->string_compare($hash, md5(md5($password) . $user_row['user_passwd_salt']));
58        }
59    }
60}