Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
sha1_smf
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
4 / 4
6
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
2
 check
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
2
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 sha1_smf extends base
17{
18    const PREFIX = '$smf$';
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        return (isset($user_row['login_name'])) ? sha1(strtolower($user_row['login_name']) . $password) : false;
42    }
43
44    /**
45    * {@inheritdoc}
46    */
47    public function check($password, $hash, $user_row = array())
48    {
49        return (strlen($hash) == 40) ? $this->helper->string_compare($hash, $this->hash($password, $user_row)) : false;
50    }
51}