Crypt using Argon2id by default with Argon2i and bcrypt in fallback.
composer require rancoud/cryptuse Rancoud\Crypt\Crypt;
$password = 'my_password';
$hash = Crypt::hash($password);
$result = Crypt::verify($password, $hash);
// use only Argon2i
Crypt::useArgon2i();
// use only bcrypt
Crypt::useBcrypt();Hashs the password according to the selected algorithm.
public static function hash(string $password): stringChecks whether the hash needs to be rehash to match the selected algorithm and options.
public static function needsRehash(string $hash): boolChecks if password and hash match.
public static function verify(string $password, string $hash): boolReturns current algorithm.
Possible values are argon2id, argon2i or 2y.
public static function getCurrentAlgo(): stringSets the algorithm to argon2id.
public static function useArgon2id(): voidSets the algorithm to argon2i.
public static function useArgon2i(): voidSets the algorithm to 2y (bcrypt).
public static function useBcrypt(): voidSets memory cost for argon2id and argon2i.
Must be equal or greater than 8.
public static function setOptionArgon2iMemoryCost(int $bytes): voidSets number of threads for argon2id and argon2i.
Must be equal or greater than 1.
public static function setOptionArgon2iThreads(int $threads): voidSets time cost for argon2id and argon2i.
Must be equal or greater than 1.
public static function setOptionArgon2iTimeCost(int $time): voidSets rounds cost for 2y (bcrypt).
Must be between 4 and 31.
public static function setOptionBcryptCost(int $rounds): voidReturns options for argon2id and argon2i.
public static function getOptionsArgon2i(): arrayReturns options for 2y (bcrypt).
public static function getOptionsBcrypt(): arrayReturns a fixed-size string containing random characters from the preselection.
The default character pool is !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``abcdefghijklmnopqrstuvwxyz{|}~.
public static function getRandomString(int $length = 64, ?string $characters = null): stringReturns the character pool.
public static function getCharactersForRandomString(): stringSets the character pool.
public static function setCharactersForRandomString(string $characters): voidcomposer ci for php-cs-fixer and phpunit and coverage
composer lint for php-cs-fixer
composer test for phpunit and coverage