1. Go to this page and download the library: Download krzysztofzylka/hash library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
krzysztofzylka / hash example snippets
use Krzysztofzylka\Hash\VersionedHasher;
// Create a secure password hash (uses Argon2id by default)
$hash = VersionedHasher::createSecure('mypassword');
// Output: $014$argon2id$v=19$m=65536,t=4,p=3$base64salt$base64hash
// Verify password
$isValid = VersionedHasher::verify($hash, 'mypassword'); // true
// Use specific algorithm
$hash = VersionedHasher::create('data', 'bcrypt', ['cost' => 12]);
$hash = VersionedHasher::create('data', 'sha256');
$hash = VersionedHasher::create('data', 'xxh64'); // Fast checksum
// Verify any supported hash
$isValid = VersionedHasher::verify($hash, 'data');
// Check if hash needs upgrade
$needsUpgrade = VersionedHasher::needsRehash($oldHash);
if ($needsUpgrade) {
$newHash = VersionedHasher::createSecure($password);
// Update database with new hash
}
// Get hash information
$info = VersionedHasher::getHashInfo($hash);
/*
Array(
'format' => 'versioned',
'algorithm' => 'argon2id',
'version' => '014',
'secure' => true,
'strength' => 'high'
)
*/
// Get recommended algorithm for current system
$recommended = VersionedHasher::getRecommendedAlgorithm(); // 'argon2id'
// Get all supported algorithms
$all = VersionedHasher::getSupportedAlgorithms();
// Get only secure algorithms
$secure = VersionedHasher::getSecureAlgorithms();
// Get algorithms by strength
$high = VersionedHasher::getAlgorithmsByStrength('high');
// Migration example
if (VersionedHasher::verify($storedHash, $inputPassword)) {
// Login successful
if (VersionedHasher::needsRehash($storedHash)) {
$newHash = VersionedHasher::createSecure($inputPassword);
// Update database with $newHash
}
// Continue with login process
}
try {
$hash = VersionedHasher::create('data', 'unsupported_algo');
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
// Check algorithm support before use
if (VersionedHasher::isAlgorithmSupported('argon2id')) {
$hash = VersionedHasher::create('data', 'argon2id');
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.