Added additional password hashing functions
All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 33s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 1m26s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 3m36s
Create Docker Image / Final Docker Image Manifest (push) Successful in 11s

This commit is contained in:
2025-01-18 16:42:03 +11:00
parent 77a139016b
commit d3d7881e3b
25 changed files with 383 additions and 434 deletions

View File

@@ -10,4 +10,23 @@ function login_attr_description(): string
function login_attr_name(): string
{
return key(config('ldap.login.attr'));
}
/**
* Used to generate a random salt for crypt-style passwords. Salt strings are used
* to make pre-built hash cracking dictionaries difficult to use as the hash algorithm uses
* not only the user's password but also a randomly generated string. The string is
* stored as the first N characters of the hash for reference of hashing algorithms later.
*
* @param int $length The length of the salt string to generate.
* @return string The generated salt string.
* @throws \Random\RandomException
*/
function random_salt(int $length): string
{
$str = bin2hex(random_bytes(ceil($length/2)));
if ($length%2 === 1)
return substr($str,0,-1);
return $str;
}