rancoud/crypt

Crypt package

3.3.2 2024-12-07 19:06 UTC

README

Packagist PHP Version Support Packagist Version Packagist Downloads Composer dependencies Test workflow Codecov

Crypt using Argon2id by default with Argon2i and bcrypt in fallback.

Installation

composer require rancoud/crypt

How to use it?

$password = 'my_password';
$hash = Crypt::hash($password);
$result = Crypt::verify($password, $hash);

// use only Argon2i
Crypt::useArgon2i();

// use only bcrypt
Crypt::useBcrypt();

Crypt

Static Methods

Main functions

  • hash(password: string): string
  • needsRehash(hash: string): bool
  • verify(password: string, hash: string): bool

Algos

  • getCurrentAlgo(): int
  • useArgon2id(): void
  • useArgon2i(): void
  • useBcrypt(): void

Options

  • setOptionArgon2iMemoryCost(bytes: int): void
  • setOptionArgon2iThreads(threads: int): void
  • setOptionArgon2iTimeCost(time: int): void
  • setOptionBcryptCost(rounds: int): void
  • getOptionsArgon2i(): array
  • getOptionsBcrypt(): array

Random string

  • getRandomString([length: int = 64], [characters: ?string = null]): string
  • getCharactersForRandomString(): string
  • setCharactersForRandomString(characters: string): void

How to Dev

composer ci for php-cs-fixer and phpunit and coverage
composer lint for php-cs-fixer
composer test for phpunit and coverage