Skip to content

rancoud/Crypt

Repository files navigation

Crypt Package

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