ResetPasswordTokenManager::generate()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 6
rs 10
1
<?php
2
3
namespace App\Security;
4
5
class ResetPasswordTokenManager
6
{
7
    const TTL = 3600;
8
9
    public function generate(): string
10
    {
11
        $key = sha1(random_bytes(10));
12
        $date = new \DateTime();
13
14
        return $key.'.'.$date->getTimestamp();
15
    }
16
17
    public function isValid(string $token): bool
18
    {
19
        $tokenDate = explode('.', $token);
20
        $date = new \DateTime();
21
22
        $time = $date->getTimestamp() - (int) $tokenDate[1];
23
24
        return $time < self::TTL;
25
    }
26
}
27