Password   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 34
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A encrypt() 0 3 1
A generate() 0 11 1
1
<?php
2
3
namespace Win\Common\Utils;
4
5
/**
6
 * Manipulador de Senhas
7
 */
8
abstract class Password
9
{
10
	/**
11
	 * Chave que aumenta a segurança das senhas
12
	 * @var string
13
	 */
14
	public static $salt = 'E50H%gDui#';
15
16
	/**
17
	 * Retorna uma senha aleatória
18
	 * A senha gerada terá sempre pelo menos: 1 símbolo e 2 números
19
	 * @param int $length
20
	 * @return string
21
	 */
22
	public static function generate($length = 6)
23
	{
24
		$letterStr = str_shuffle('abcdefghijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXY');
25
		$numberStr = str_shuffle('23456789');
26
		$specialStr = str_shuffle('@#&');
27
28
		$password = substr($letterStr, 0, $length - 3)
29
				. substr($numberStr, 0, 2)
30
				. substr($specialStr, 0, 1);
31
32
		return str_shuffle($password);
33
	}
34
35
	/**
36
	 * Criptografa a senha com maior maior segurança
37
	 * @param string $password
38
	 */
39
	public static function encrypt($password)
40
	{
41
		return md5($password . self::$salt);
42
	}
43
}
44