Fix password generator with special chars - refs BT#20083

pull/4352/head
Angel Fernando Quiroz Campos 3 years ago
parent c40e63d427
commit f2fac0b4bf
  1. 6
      main/inc/lib/api.lib.php
  2. 2
      main/inc/lib/security.lib.php

@ -2510,7 +2510,7 @@ function api_generate_password($length = 8)
$charactersLowerCase = Security::CHAR_LOWER; $charactersLowerCase = Security::CHAR_LOWER;
$charactersUpperCase = Security::CHAR_UPPER; $charactersUpperCase = Security::CHAR_UPPER;
$charactersSpecials = Security::CHAR_SYMBOLS;
$minNumbers = 2; $minNumbers = 2;
$length = $length - $minNumbers; $length = $length - $minNumbers;
$minLowerCase = round($length / 2); $minLowerCase = round($length / 2);
@ -2534,9 +2534,11 @@ function api_generate_password($length = 8)
if ($rest > 0) { if ($rest > 0) {
$password .= $generator->generateString( $password .= $generator->generateString(
$rest, $rest,
$charactersLowerCase.$charactersUpperCase.$charactersSpecials $charactersLowerCase.$charactersUpperCase
); );
} }
$password .= $generator->generateString($minSpecials, Security::CHAR_SYMBOLS);
} }
// Min digits default 2 // Min digits default 2

@ -42,7 +42,7 @@ class Security
public const CHAR_UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; public const CHAR_UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
public const CHAR_LOWER = 'abcdefghijklmnopqrstuvwxyz'; public const CHAR_LOWER = 'abcdefghijklmnopqrstuvwxyz';
public const CHAR_DIGITS = '0123456789'; public const CHAR_DIGITS = '0123456789';
public const CHAR_SYMBOLS = '!"#$%&\'()* +,-./:;<=>?@[\]^_`{|}~'; public const CHAR_SYMBOLS = '!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~';
public static $clean = []; public static $clean = [];

Loading…
Cancel
Save