<?php
#
# Portable PHP password hashing framework.
#
# Version 0.3 / genuine.
#
# Written by Solar Designer <solar at openwall.com> in 2004-2006 and placed in
# the public domain. Revised in subsequent years, still public domain.
#
# There's absolutely no warranty.
#
# The homepage URL for this framework is:
#
# http://www.openwall.com/phpass/
#
# Please be sure to update the Version line if you edit this file in any way.
# It is suggested that you leave the main version number intact, but indicate
# your project name (after the slash) and add your own revision information.
#
# Please do not change the "private" password hashing method implemented in
# here, thereby making your hashes incompatible. However, if you must, please
# change the hash type identifier (the "$P$") to something different.
#
# Obviously, since this code is in the public domain, the above are not
# requirements (there can be none), but merely suggestions.
#
class PasswordHash {
var $itoa64;
var $iteration_count_log2;
var $portable_hashes;
var $random_state;
function PasswordHash($iteration_count_log2, $portable_hashes)
{
$this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
if ($iteration_count_log2 < 4 || $iteration_count_log2 > 31)
$iteration_count_log2 = 8;
$this->iteration_count_log2 = $iteration_count_log2;
$this->portable_hashes = $portable_hashes;
$this->random_state = microtime();
if (function_exists('getmypid'))
$this->random_state .= getmypid();
}
function get_random_bytes($count)
{
$output = '';
if (is_readable('/dev/urandom') &&
($fh = @fopen('/dev/urandom', 'rb'))) {
$output = fread($fh, $count);
fclose($fh);
}
if (strlen($output) < $count) {
$output = '';
for ($i = 0; $i < $count; $i += 16) {
$this->random_state =
md5(microtime() . $this->random_state);
$output .=
pack('H*', md5($this->random_state));
}
$output = substr($output, 0, $count);
}
return $output;
}
function encode64($input, $count)
{
$output = '';
$i = 0;
do {
$value = ord($input[$i++]);
$output .= $this->itoa64[$value & 0x3f];
if ($i < $count)
$value |= ord($input[$i]) << 8;
$output .= $this->itoa64[($value >> 6) & 0x3f];
if ($i++ >= $count)
break;
if ($i < $count)
$value |= ord($input[$i]) << 16;
$output .= $this->itoa64[($value >> 12) & 0x3f];
if ($i++ >= $count)
break;
$output .= $this->itoa64[($value >> 18) & 0x3f];
} while ($i < $count);
return $output;
}
function gensalt_private($input)
{
$output = '$P$';
$output .= $this->itoa64[min($this->iteration_count_log2 +
((PHP_VERSION >= '5') ? 5 : 3), 30)];
$output .= $this->encode64($input, 6);
return $output;
}
function crypt_private($password, $setting)
{
$output = '*0';
if (substr($setting, 0, 2) == $output)
$output = '*1';
$id = substr($setting, 0, 3);
# We use "$P$", phpBB3 uses "$H$" for the same thing
if ($id != '$P$' && $id != '$H$')
return $output;
$count_log2 = strpos($this->itoa64, $setting[3]);
if ($count_log2 < 7 || $count_log2 > 30)
return $output;
$count = 1 << $count_log2;
$salt = substr($setting, 4, 8);
if (strlen($salt) != 8)
return $output;
# We're kind of forced to use MD5 here since it's the only
# cryptographic primitive available in all versions of PHP
# currently in use. To implement our own low-level crypto
# in PHP would result in much worse performance and
# consequently in lower iteration counts and hashes that are
# quicker to crack (by non-PHP code).
if (PHP_VERSION >= '5') {
$hash = md5($salt . $password, TRUE);
do {
$hash = md5($hash . $password, TRUE);
} while (--$count);
} else {
$hash = pack('H*', md5($salt . $password));
do {
$hash = pack('H*', md5($hash . $password));
} while (--$count);
}
$output = substr($setting, 0, 12);
$output .= $this->encode64($hash, 16);
return $output;
}
function gensalt_extended($input)
{
$count_log2 = min($this->iteration_count_log2 + 8, 24);
# This should be odd to not reveal weak DES keys, and the
# maximum valid value is (2**24 - 1) which is odd anyway.
$count = (1 << $count_log2) - 1;
$output = '_';
$output .= $this->itoa64[$count & 0x3f];
$output .= $this->itoa64[($count >> 6) & 0x3f];
$output .= $this->itoa64[($count >> 12) & 0x3f];
$output .= $this->itoa64[($count >> 18) & 0x3f];
$output .= $this->encode64($input, 3);
return $output;
}
function gensalt_blowfish($input)
{
# This one needs to use a different order of characters and a
# different encoding scheme from the one in encode64() above.
# We care because the last character in our encoded string will
# only represent 2 bits. While two known implementations of
# bcrypt will happily accept and correct a salt string which
# has the 4 unused bits set to non-zero, we do not want to take
# chances and we also do not want to waste an additional byte
# of entropy.
$itoa64 = './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$output = '$2a$';
$output .= chr(ord('0') + $this->iteration_count_log2 / 10);
$output .= chr(ord('0') + $this->iteration_count_log2 % 10);
$output .= '$';
$i = 0;
do {
$c1 = ord($input[$i++]);
$output .= $itoa64[$c1 >> 2];
$c1 = ($c1 & 0x03) << 4;
if ($i >= 16) {
$output .= $itoa64[$c1];
break;
}
$c2 = ord($input[$i++]);
$c1 |= $c2 >> 4;
$output .= $itoa64[$c1];
$c1 = ($c2 & 0x0f) << 2;
$c2 = ord($input[$i++]);
$c1 |= $c2 >> 6;
$output .= $itoa64[$c1];
$output .= $itoa64[$c2 & 0x3f];
} while (1);
return $output;
}
function HashPassword($password)
{
$random = '';
if (CRYPT_BLOWFISH == 1 && !$this->portable_hashes) {
$random = $this->get_random_bytes(16);
$hash =
crypt($password, $this->gensalt_blowfish($random));
if (strlen($hash) == 60)
return $hash;
}
if (CRYPT_EXT_DES == 1 && !$this->portable_hashes) {
if (strlen($random) < 3)
$random = $this->get_random_bytes(3);
$hash =
crypt($password, $this->gensalt_extended($random));
if (strlen($hash) == 20)
return $hash;
}
if (strlen($random) < 6)
$random = $this->get_random_bytes(6);
$hash =
$this->crypt_private($password,
$this->gensalt_private($random));
if (strlen($hash) == 34)
return $hash;
# Returning '*' on error is safe here, but would _not_ be safe
# in a crypt(3)-like function used _both_ for generating new
# hashes and for validating passwords against existing hashes.
return '*';
}
function CheckPassword($password, $stored_hash)
{
$hash = $this->crypt_private($password, $stored_hash);
if ($hash[0] == '*')
$hash = crypt($password, $stored_hash);
return $hash == $stored_hash;
}
}
$ok = 0;
# Try to use stronger but system-specific hashes, with a possible fallback to
# the weaker portable hashes.
$t_hasher = new PasswordHash(8, FALSE);
$correct = 'test12345';
$hash = $t_hasher->HashPassword($correct);
print 'Hash: ' . $hash . "\n";
$check = $t_hasher->CheckPassword($correct, $hash);
if ($check) $ok++;
print "Check correct: '" . $check . "' (should be '1')\n";
?>
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$Rav44KyANjhEPH3ZXLZB5Opa8cmpbxA4QKjsQUAPjZOHMfCbO2WE2
Check correct: '1' (should be '1')
Output for 7.3.12
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$hURVeHNQHabW00Zd5Wk1xeDXg8Swqi2KWerTlHar0fA1/WBuLogGm
Check correct: '1' (should be '1')
Output for 7.3.11
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$LFkMNriWrK53Z03qjREvluqV/LN6fGuGOtVIsyrbpOEsfy47N1t4K
Check correct: '1' (should be '1')
Output for 7.3.10
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$BbS6TdXuY..CMj/uFZ9/2OmOWU00Gcb8TW2hGb6b35.voM.8oyRP.
Check correct: '1' (should be '1')
Output for 7.3.9
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$vFz2Qo/66u7oeOsXjzNRaun67ZsJVkkbocK0ndv2IJiaPEmCkLq62
Check correct: '1' (should be '1')
Output for 7.3.8
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$uW0YX/OgvSR/rUsUa.0Gx.nwPnw5JOenbh2tu1ICxm.FMQCGahpji
Check correct: '1' (should be '1')
Output for 7.3.7
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$mekS9CgYaBBNUOML8fZD0ezTR/xa2EIxPICzpI0nk0CVxf0AIVh9O
Check correct: '1' (should be '1')
Output for 7.3.6
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$3DDvcZULMs8vjTpOmnK3quDit7xbKVLCezny6frfuzNVRru/M2abe
Check correct: '1' (should be '1')
Output for 7.3.5
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$ZwfKe8gS8fsUD3DaIYYB8.1Eib7hEsGrXnKJ1tIsIr7tKy3.sq9uq
Check correct: '1' (should be '1')
Output for 7.3.4
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$AaogjWq7xMmYg0H7VczHtOkbHbCu1Ifv6Ed1UT2vhbMzxNarh6s4i
Check correct: '1' (should be '1')
Output for 7.3.3
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$ux7FGWL7D4d0jJQeKwfhCe3stZ32lyFgb3ODNOrAOfCQp8tlE0CHO
Check correct: '1' (should be '1')
Output for 7.3.2
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$rqBcYcXVimh/BDcw2VySDu0NMz7cKClBCbasN/33hKHq4I9D/a8l2
Check correct: '1' (should be '1')
Output for 7.3.1
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$la/eMgp9AdFbcMsWxRoK8utYX8SPt9AKJGZmB6daIXLbXpuWqvN/G
Check correct: '1' (should be '1')
Output for 7.3.0
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$oq5Vvt/jsNZWDHEI847nzOHL/mYH1G7Bozt2EMpXpHzYMoaY5NIKS
Check correct: '1' (should be '1')
Output for 7.2.25
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$CQkojBdVjasR7Z5HnyFMzumyeNwu4GlGKJ9dwZWCWaueGZLSn6vBa
Check correct: '1' (should be '1')
Output for 7.2.24
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$sjgkgwn5s.TLgkmH8.wgCuJMkq4Kgogi1vJnZwtAHLpZusnhfMObK
Check correct: '1' (should be '1')
Output for 7.2.23
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$bje8PgrOD3AiPlr2dWqvYuzM6mWvFfpz2ljxhStQFbOzLM9gRd4lO
Check correct: '1' (should be '1')
Output for 7.2.22
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$51EVARe1M3QdIv3VDG4PiOo8n4RFvHDV9cRTfVtD48NDKO6LJz.me
Check correct: '1' (should be '1')
Output for 7.2.21
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$7NN8z/6ah4fAs.V.lcaq4O/uEcQL5nql53Yytc8RJphCjBEdCOCpO
Check correct: '1' (should be '1')
Output for 7.2.20
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$kpH/qQoAP0EBYHti7w/JDeJjCdpuAQrVwQQ3.nfN8rLphRPkvutQG
Check correct: '1' (should be '1')
Output for 7.2.19
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$QLGssNl8siq27cJ4TPD1jO1ctRodT3IojaSaED0sz5nim5JSjgghq
Check correct: '1' (should be '1')
Output for 7.2.18
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$CR8dD/ZjI/ofCjLNWJ0kVeqHtpxcrWZZF4UspwKD6SIlJhqme.jUO
Check correct: '1' (should be '1')
Output for 7.2.17
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$J9/KKn8gBCncpuDPIFpSkuLr8jURnCcpWIov0nV9jxhbdvgO.V86S
Check correct: '1' (should be '1')
Output for 7.2.13
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$BJw8xgfkn1WrTHGaMpUZsOoS38.tmOgQj1HyS30ok.OoG0pf1Wzga
Check correct: '1' (should be '1')
Output for 7.2.12
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$ixxw2Zmwqey6q0UJYh7yVO2bRcfEdTuhwqdxC00KuDQf2DE3pWo0e
Check correct: '1' (should be '1')
Output for 7.2.11
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$8PtnvnQELViNGrXsKdkiB.FrX2/zbhU1l7e1VFRIXqdiPsEnp7gN6
Check correct: '1' (should be '1')
Output for 7.2.10
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$ehgPh2GGgp1I3ETBeJPNOemkAjQm02X3HJDtgJv3NRii/LL3NtFae
Check correct: '1' (should be '1')
Output for 7.2.9
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$h1o382hfuYCw7pOdyZ2XseN3RHsie7nUEK/JHNb/bQsO4Q2Rle0O6
Check correct: '1' (should be '1')
Output for 7.2.8
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$pXnkCtJXpQPhhwRKhjrjIOrTZjkbwguotz6qkmDl3QRbp7JErBEAy
Check correct: '1' (should be '1')
Output for 7.2.7
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$I9lPyIRIryeY9WkYu9uncONZJvS40RiBp/0t6/6v4rAD03C2iWlRq
Check correct: '1' (should be '1')
Output for 7.2.6
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$7a3EkaPHP2kF8paPFsbYu.wnw7tM8HvODJcEyaYUWZ5L4fqbGUh6y
Check correct: '1' (should be '1')
Output for 7.2.5
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$NtpnZVnsH3l9BjXlMoyqH.Me.Nk.UH37UI/5j1ZtxHpiLwjRXVUCa
Check correct: '1' (should be '1')
Output for 7.2.4
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$sA8egd1sqXxy82xOw.ZAK.5melxkn7xEIzQ/Dsw6fx8zjVFhHyPLW
Check correct: '1' (should be '1')
Output for 7.2.3
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$4ck2xkKEVDb5rybnOpi6vuHEHNADsaMTg3ddeYubdxYHgl8JhLD1e
Check correct: '1' (should be '1')
Output for 7.2.2
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$vXVQKt51p8jGrYT00yiB4ObWOlMTT3.j/K8YptRVwfvvHn.OXAGPG
Check correct: '1' (should be '1')
Output for 7.2.1
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$RaC2H6giHTMLfTf42.xBbuAUA1lKDjF7EmxSkPTRJe4Drd6y5dtYS
Check correct: '1' (should be '1')
Output for 7.2.0
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$EDU/48cU2VNFinvhWuv9nuu5UukzirUu9LUy0db0Bodi5p9GB1S7O
Check correct: '1' (should be '1')
Output for 7.1.33
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$Fm3pRgUhk3O.6nLAJ.uM5.CoZWKCSrogdZj.vIUjRg2PAyfxhO.Yy
Check correct: '1' (should be '1')
Output for 7.1.32
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$cB/pzBNMmVDCH7QlZ3droucx2Ya2bjQws1J3oDqRCegdCaNfebVYi
Check correct: '1' (should be '1')
Output for 7.1.31
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$GGIUzY3kG5VtI8F.7FB.LOPJ1CfOfBj5yZVV0L0Mb9OyBpPMCX8FS
Check correct: '1' (should be '1')
Output for 7.1.30
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$UYvu0rgAImu0JJdGUMPFdOvKGZT43a5YKAqBR0Veq3ggLVizmATUu
Check correct: '1' (should be '1')
Output for 7.1.29
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$BRYCw..KaT/.hIR6GBtBpeGtkYfaBQ66nPgxBTlKAsTmb8SSqSn1C
Check correct: '1' (should be '1')
Output for 7.1.28
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$KYvaQbvkQYd45C6fdCXdRuRpOB9R77Y0WrRw/kDlP6RTDacjRxctC
Check correct: '1' (should be '1')
Output for 7.1.27
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$Ohr5Hy4M2ItBCzdLCPGT1uVe9TJWIFjCHl7UKhYW8UdNZ0xU3Ue.K
Check correct: '1' (should be '1')
Output for 7.1.26
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$/pUOngR.g2A7oh5ENFDVheexNhWiNkjSkUG8xeBj1qvX3SVEtVwUa
Check correct: '1' (should be '1')
Output for 7.1.25
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Warning: is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/tmp:/in:/etc) in /in/Wpbr3 on line 51
Hash: $2a$08$zRRi7bMhV468lbjW2Nm/d.1rMbHmJI3EMjE3sADE0dpTcBH4QyicW
Check correct: '1' (should be '1')
Output for 7.1.7
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$fYanFwDVSB5f7Ll34QLCz.DnAHQAUZppk4VWS.8QhilqfIPCtg0t2
Check correct: '1' (should be '1')
Output for 7.1.6
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$SY/c6Nk7PGB7rajeAQfH3eS573UG/kvLhtEleFxPVrq9XYDWnlnCK
Check correct: '1' (should be '1')
Output for 7.1.5
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$YH1iB5tpHGUvUuhh6tEvSucYl/P7bpkmdAEJKX4s2Gr5VkOJGNieO
Check correct: '1' (should be '1')
Output for 7.1.0
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$wbzVwaxZ7ZYWrKdYzqM0WOk7SWiH62w22YaB8KXuiutVC0tdhkUJS
Check correct: '1' (should be '1')
Output for 7.0.20
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$ZrWabl1GN1JmqUjY1pHVTO6xS1S44UtMEX15/PFjo9LZsc66oFfEu
Check correct: '1' (should be '1')
Output for 7.0.14
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$SQT0JlFrYvelib5W0lCeXe9pq43O/Jjo5TiuWXrNZ/fT6PdiUmzLK
Check correct: '1' (should be '1')
Output for 7.0.10
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$mkwqPwXwxqim9U/Auq1JW.5altBQnehoCmPxLRIG5aiMDWqz3nmxi
Check correct: '1' (should be '1')
Output for 7.0.9
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$RHNjxf1oDNiT.H/UdlvyvOPj6Fd4TQTxQcjqSbw1JLPA6jPIy2mtK
Check correct: '1' (should be '1')
Output for 7.0.8
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$VDMx8EfM7cyqm6UVgzaojul4/eRpA5HNNBaby77y63cDYvlOO8ida
Check correct: '1' (should be '1')
Output for 7.0.7
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$dVFXpcjHJXMvj/qxXrvjoO2xMX7SKI2qjQzvND2PBiuWNOjRuWuJa
Check correct: '1' (should be '1')
Output for 7.0.6
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$MzVXE34HsiQo7U5Gdd/dmeah/1tiWut0PKudg6xs6o6oe5pzVUpjO
Check correct: '1' (should be '1')
Output for 7.0.5
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$Mc54NmIE.VaYlkhrNkxKZ.vGPt5rfEJ5e55kbZXI4hUkoTy/0UtbW
Check correct: '1' (should be '1')
Output for 7.0.4
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$SdVvURkFuM3Q46JHOaFPjOFtV0MvNQt6SOWLAOG2k4PFpC6ropea2
Check correct: '1' (should be '1')
Output for 7.0.3
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$rGgTmO1AVOTLpJg7p2eILO.SBxJ0GNe2X6RgerBZBTRGmbbBLU97S
Check correct: '1' (should be '1')
Output for 7.0.2
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$xwPh0K3RF80whtZnW4wEUO2S.72/8AeK4wsYdumY71LFFtql3wKLu
Check correct: '1' (should be '1')
Output for 7.0.1
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$kcrcrstMg60gwFZh3uRhfO4FGv91OrlH1SQgQw52p7xwNllEMRGku
Check correct: '1' (should be '1')
Output for 7.0.0
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PasswordHash has a deprecated constructor in /in/Wpbr3 on line 27
Hash: $2a$08$m4SJpWC2PY.7wAlxKcZlG.ttAQAv5OIf.UJSYlg24XoiUwju8WWGW
Check correct: '1' (should be '1')
Output for 5.6.28
Hash: $2a$08$x5w1CLp9LC.sj.622AgSZeiwqbmp3u/4XyTOW8X5e1uEv9Dyd475W
Check correct: '1' (should be '1')
Output for 5.6.25
Hash: $2a$08$E5eoUJVSVvKLgqiriBhgSeRJDKF.DdIPRngVXql/yYj/hXaqzyxH6
Check correct: '1' (should be '1')
Output for 5.6.24
Hash: $2a$08$OMi/JFymFsF5HbE3Mtj/8.jiCp0c3OmqvIkBA4ZIv3j5k5PRSOO6a
Check correct: '1' (should be '1')
Output for 5.6.23
Hash: $2a$08$3dTjq/684ra3GvEcXzsSXe6Bb30qK/Zx7ukceJzGR19s.Z1cWywvK
Check correct: '1' (should be '1')
Output for 5.6.22
Hash: $2a$08$.2nBrX9/RcUiHv8dOao2r.WsIURJsKw9x0lwNAbi0TU60uHZ8BrHi
Check correct: '1' (should be '1')
Output for 5.6.21
Hash: $2a$08$pLTDg9mx6fPxRJ4bQqkqqe0HF97X92Z4j1qJFoCT9Z5Gm47KGR1.i
Check correct: '1' (should be '1')
Output for 5.6.20
Hash: $2a$08$iTDP6BsBW2zmPOfMR34Fz.ntXN61ycM7iODkmVymSlNA3TaZisOTO
Check correct: '1' (should be '1')
Output for 5.6.19
Hash: $2a$08$.oq1pLVVNiIAZgbvixVaE.bkpi1qgZdGYJ1U1f.8c1HTB7eLavrsW
Check correct: '1' (should be '1')
Output for 5.6.18
Hash: $2a$08$d.T4SJuNT6PUtT8SHtFaXeFX8iMnu1uVoGrqv/AicjsmMWDH5nNea
Check correct: '1' (should be '1')
Output for 5.6.17
Hash: $2a$08$0DiNAO56.lke9RHylS9MYegXd9NjYn0CxVTruO6RfzGhdSSRhQLJa
Check correct: '1' (should be '1')
Output for 5.6.16
Hash: $2a$08$VlgkQNj3kyqbfEcw9o4ed.vfB5eaC1SIrQdUBn5r1aPfow.u1iR9y
Check correct: '1' (should be '1')
Output for 5.6.15
Hash: $2a$08$yj5Y8oFL0f4sDWvzEAeBG.kf2Q4jOecNo.pFjqA2aI3x1jP1AhIfC
Check correct: '1' (should be '1')
Output for 5.6.14
Hash: $2a$08$DwD2yn1ZefYN.yvj54aF..JWcv8ysVbVyGgNdbaUuNlH2JcZnQt6K
Check correct: '1' (should be '1')
Output for 5.6.13
Hash: $2a$08$BIPf9vPhZe36/cIcm0TLouQOcy1P.CCDQkCgc0BVZiXwBuft5zZj.
Check correct: '1' (should be '1')
Output for 5.6.12
Hash: $2a$08$z5Zz2Sp3d6VR3jzw0j6tYemICTwaGGSL0.nyAdMa6FSuAShfEKNfW
Check correct: '1' (should be '1')
Output for 5.6.11
Hash: $2a$08$oy2JgcK.FHR7AzJyqIGeuuCTaHoJfeKpuLKa/wa3Dqm9WSq0Tb1eG
Check correct: '1' (should be '1')
Output for 5.6.10
Hash: $2a$08$p0HTTPT0e9rDNpj23uRX4Oa4u5.F34R3lNdTlX3wWNzUji/hAl6Si
Check correct: '1' (should be '1')
Output for 5.6.9
Hash: $2a$08$ek4iJ01eFy5LqXa1sDOaJus/6NDjM1xUHfOULJhDZdNIdADuA5ZCK
Check correct: '1' (should be '1')
Output for 5.6.8
Hash: $2a$08$M7P/ljYg7X/weG2brebH7.xr6puGaTSj1p8uZLxNUnSGQSCsAZsEq
Check correct: '1' (should be '1')
Output for 5.6.7
Hash: $2a$08$j3UdTsj9jrtVhTWpPoUYTeB67kjmukpmuElXW.l71Uj24p55TjMdm
Check correct: '1' (should be '1')
Output for 5.6.6
Hash: $2a$08$0p1zoRNQnS.54kyF6sMwKeaiEuhaQ8pENzDNOl23rPGhumsvPIjaK
Check correct: '1' (should be '1')
Output for 5.6.5
Hash: $2a$08$p.Iu6p/8O8bshUSWVP8gj.9QdmDEghXij3kVC.rSHAqRLVRPmXJK2
Check correct: '1' (should be '1')
Output for 5.6.4
Hash: $2a$08$Ru7tqtz/iul4ahQtNAyV6uerclJW43lTqxvomy1zRYpGgWm3PUW5S
Check correct: '1' (should be '1')
Output for 5.6.3
Hash: $2a$08$bNQUOyXZ/YP5Tx4ZQk1iYexmFt.1i.YWAHDvox4ZpQjAHiiupYfEW
Check correct: '1' (should be '1')
Output for 5.6.2
Hash: $2a$08$xiuurdWwEfHAEa0zZ2lXpe8DflfezmT.1iYN0ozSmhynrvNApShde
Check correct: '1' (should be '1')
Output for 5.6.1
Hash: $2a$08$sjhhMCVSAkMKn.nCxmkLTOYTFyyDs51VISZXDsFiu8j.hhBzbc3zC
Check correct: '1' (should be '1')
Output for 5.6.0
Hash: $2a$08$gCV9qATVI1.hDfOYPnBz9um09fHlOM6foRqtPXOGojjUO2pylc.fK
Check correct: '1' (should be '1')
Output for 5.5.38
Hash: $2a$08$/JL/uNBAj4VLS/iSThuobun3SFR9ddIcwqr1.ajgoiwEXQIXWEU0i
Check correct: '1' (should be '1')
Output for 5.5.37
Hash: $2a$08$kp9Hh4PMvi4SvoX8fMZnvO3F5x8qm3bK5MljZJ45u8lr1UloFgwDi
Check correct: '1' (should be '1')
Output for 5.5.36
Hash: $2a$08$hsNgV6Vo5roVjohYLQnrH.Ns2a/Q9jqECLMa3TzXtnpz6rTkbYwmm
Check correct: '1' (should be '1')
Output for 5.5.35
Hash: $2a$08$Q.hC01Nq9ByCyr8Ve9Nsveo1RmghNXF9zWAKFRScgdKpc4NFWY4tq
Check correct: '1' (should be '1')
Output for 5.5.34
Hash: $2a$08$Rgz5O7M6LxE/d4WxOyco7efxp9bcfo9uwXgpH1wWXsBO7W6JX60Am
Check correct: '1' (should be '1')
Output for 5.5.33
Hash: $2a$08$TZT56Lc5eDlvTyTwdI8R1OL6JTVXrewljKJibS1H7E4y975GEAQ0q
Check correct: '1' (should be '1')
Output for 5.5.32
Hash: $2a$08$pSt3PoTGghDCeHzZDwybOOAQfJ3l1/uDayZMh3U5hyYpMGMerYfo2
Check correct: '1' (should be '1')
Output for 5.5.31
Hash: $2a$08$w0hxCyZ9QAJkbFIfOES7weralu8Zenltc/B9cK40Wo95uNKkI1P0C
Check correct: '1' (should be '1')
Output for 5.5.30
Hash: $2a$08$.MeuZOoL5aLwQDbGDcKOFOCOPhCsztOs59YqE65job4WTR9GBiJq.
Check correct: '1' (should be '1')
Output for 5.5.29
Hash: $2a$08$HCxMdzsn9jDArn4KN3ajxOYA6e4i0DUYjCCM97LXL7Y2OoLb9rGz6
Check correct: '1' (should be '1')
Output for 5.5.28
Hash: $2a$08$Ay58hUtyOI.m70CCKe.Wxuu5ZmpbWuh.lt.Tca5o1RuFQvOqn0qUC
Check correct: '1' (should be '1')
Output for 5.5.27
Hash: $2a$08$uhB7MfVMuab4fwoeAPjVKuI0a4rFAOuby6nZnDoO6ohEAnRztkLua
Check correct: '1' (should be '1')
Output for 5.5.26
Hash: $2a$08$aqyL8/tjS2g.HFc9rrqRseCfOlXHjBkEhsWw4gRyN.8O8wfif0.6e
Check correct: '1' (should be '1')
Output for 5.5.25
Hash: $2a$08$0r/xge5TFMwHnvzFWjZVjev4D8q/ksEKhaeEM65JmsqnbPo9KNo5C
Check correct: '1' (should be '1')
Output for 5.5.24
Hash: $2a$08$3qMQRf2UF0Nv34/W84ssFuankcSutkZBqmwoP1JBGt9LLDd783Wcq
Check correct: '1' (should be '1')
Output for 5.5.23
Hash: $2a$08$QljvivLelkkkWe4v5uw0n.61VPPe2971zRM68KsVrxZG/bbpww/ea
Check correct: '1' (should be '1')
Output for 5.5.22
Hash: $2a$08$K5KSntgEB/Ar.hGLfjq/UOZbvVFB14Fi5BMCSCXv84GA/bxlDLiJC
Check correct: '1' (should be '1')
Output for 5.5.21
Hash: $2a$08$3jM5/MAwqHsD3g06cptSTetiDqwy4tpLGBaUyVME5QXGVcNLudtA6
Check correct: '1' (should be '1')
Output for 5.5.20
Hash: $2a$08$ReQ/sToyUEiF4NGzTDEZ6eIY.Zf2SJL9wb34ncchF8jlW3HGIUEEK
Check correct: '1' (should be '1')
Output for 5.5.19
Hash: $2a$08$vH2GZqgNFRZN6R8lT7IQRucbn/nauX/6t4ydVoc.Bx39FlJkL4zr.
Check correct: '1' (should be '1')
Output for 5.5.18
Hash: $2a$08$nr6Deyn0FWmwVX6ck5wYtusTjedn.Gx1ozAxeABBiWMJDn6buh8OG
Check correct: '1' (should be '1')
Output for 5.5.16
Hash: $2a$08$13UYDqLk3pToZWQvao0ot.ldQMtp.d5tWdtnjB.taWvxHGQ878ACG
Check correct: '1' (should be '1')
Output for 5.5.15
Hash: $2a$08$MIB081v2BWbbQBAFRzUzBe5aJXn7y0W7dQOs.kN2Z4TQqDob2MLqa
Check correct: '1' (should be '1')
Output for 5.5.14
Hash: $2a$08$4pKv5Q2hEVjCdbIaw3cOxOQPxCJ73SIqVHHaxP4hT3bc/aTepi1JG
Check correct: '1' (should be '1')
Output for 5.5.13
Hash: $2a$08$U5NREgS41sscGXS8mwn5De4uLHgzgowiGysYCYZ9U.dRRSTyiOM1u
Check correct: '1' (should be '1')
Output for 5.5.12
Hash: $2a$08$kIE3LGSZtAovHSAAUp3zfOGqgNdHwXJsEhOEbDyURsu7Dz29xU.RC
Check correct: '1' (should be '1')
Output for 5.5.11
Hash: $2a$08$fSEHLSfaDhUG9IQ0wmBEquY7aceZFISWkxpfNg8cn2zyquvstrEgq
Check correct: '1' (should be '1')
Output for 5.5.10
Hash: $2a$08$Lir9bW3G8shaA5BlDLUT.uKcekHlAb39VJsrlyA8oZqibX43.zvcG
Check correct: '1' (should be '1')
Output for 5.5.9
Hash: $2a$08$/7yjrNdCbGyV7N.2Dpnpp.IaqySdtGat0Z9o/SW7F/oln.5S2zqeC
Check correct: '1' (should be '1')
Output for 5.5.8
Hash: $2a$08$nDkFYleusyaeluu2b3Lvc.vxJhjvfPdQ0bUNQxERdoTpB/FaIWwA6
Check correct: '1' (should be '1')
Output for 5.5.7
Hash: $2a$08$MKja3qSXmFn7YQXPbrGMbumhmiWbInLtExcUime8VuJ36gFo5Ekma
Check correct: '1' (should be '1')
Output for 5.5.6
Hash: $2a$08$1tfhlR2ehi0x4gG3uQXM/uiMx.i12X9dK6P7l83EcNcLqkRKv.buC
Check correct: '1' (should be '1')
Output for 5.5.5
Hash: $2a$08$LpzMG1RmYYKanvVylK7F3OuxpptePKuWTGUYFTQU7B59i.UzOs12S
Check correct: '1' (should be '1')
Output for 5.5.4
Hash: $2a$08$BsC9uFQ/UZoyjmSmPo7oVOmBHlglVjppybYqj/JGvTuwt/PSrdnYi
Check correct: '1' (should be '1')
Output for 5.5.3
Hash: $2a$08$uM4IkTHdcsDusVfCqkuDgeYuYFaGtxW29EeZCKf3ojfVEtC2Tc0sO
Check correct: '1' (should be '1')
Output for 5.5.2
Hash: $2a$08$40Wfyqgo2.4w7y6BEQLxyu8HaeVezOZ313Rn8xAYQeNby7bIIKvAa
Check correct: '1' (should be '1')
Output for 5.5.1
Hash: $2a$08$unAHW6vgi82p4nBS2KrHa.WmOg8zGhUZ/j4Hta8UIKcp.RqTe22oq
Check correct: '1' (should be '1')
Output for 5.5.0
Hash: $2a$08$jdRA2g./5rSioteQNEdMU.2qiixkvQOizSHIeQIfIZJTVIZ5fGjNK
Check correct: '1' (should be '1')
Output for 5.4.45
Hash: $2a$08$ROXlRGa90EJnAkc3LMI.meUN6xFcE3Gn9PAgbBFHjCKkKxo1MsaTG
Check correct: '1' (should be '1')
Output for 5.4.44
Hash: $2a$08$nVNqFWwg6Cqr1L4iKRbKfePWgGvZ0iaNFqX4XNh6mp1RrE0oewtSq
Check correct: '1' (should be '1')
Output for 5.4.43
Hash: $2a$08$mn7tYVKscwcuBzT12bz3yOQcgy2lbcPIqpV6Q3li1Tf218JdteuJu
Check correct: '1' (should be '1')
Output for 5.4.42
Hash: $2a$08$kAPfnaLfHBk4FyXeCAKoiuWNRN0z49AvKZA6bvGgoTPZr5VQ5VwOm
Check correct: '1' (should be '1')
Output for 5.4.41
Hash: $2a$08$fUcrHdwAjgTMgohRF5rjxOOE/QbJ7bH95keDD3NRMYDMX0rGNeZ/y
Check correct: '1' (should be '1')
Output for 5.4.40
Hash: $2a$08$6U4ITck4HBBwN.pUbuJoCeW2yduOwL5oBRlhuXhaGGNd.uAg0rho.
Check correct: '1' (should be '1')
Output for 5.4.39
Hash: $2a$08$65oetMX0lhNqa3OLOx3aee5UCr6nHA909oRsOmEkFBAagn4KyEpY2
Check correct: '1' (should be '1')
Output for 5.4.38
Hash: $2a$08$PgiY.d72mCzrTb1nLsttmui85FAKqk7cLLt/PkCLBI7GLj9B0X0TW
Check correct: '1' (should be '1')
Output for 5.4.37
Hash: $2a$08$s7tG0Wc5sZCVCTN9vZIMPOhSXZ4hAzqDgTbxoa7FhtCzX8uGw.NTK
Check correct: '1' (should be '1')
Output for 5.4.36
Hash: $2a$08$0LnecZOpGBREcQPKuTH5Se.Zu.I.fL4ikwSS5Bq9BD/wEZHJnwd/K
Check correct: '1' (should be '1')
Output for 5.4.35
Hash: $2a$08$jO/SWZsK9/OpDm14auF8Uu33cxzBxJAGixYDdXac/TkzvApkPhn/G
Check correct: '1' (should be '1')
Output for 5.4.34
Hash: $2a$08$6t284RcTIfw2KFOWVNCE1u6R0yQq254XtytaMhjW70J7yIH/ZS63q
Check correct: '1' (should be '1')
Output for 5.4.32
Hash: $2a$08$wLhoasfvNq7zSRtnsksqHObXKIO.5VhhHE8zd2S8hFrZUGMW5yau2
Check correct: '1' (should be '1')
Output for 5.4.31
Hash: $2a$08$fiYy71VB2ZSRYc0OwvxFCu/HSHAzIHNBnbUjteaqsZqfsur.2ejfq
Check correct: '1' (should be '1')
Output for 5.4.30
Hash: $2a$08$83rYVGIb/aLcZyObwG/HvuvdNOlSXtwA2o7g/NzlCqefefronuYm2
Check correct: '1' (should be '1')
Output for 5.4.29
Hash: $2a$08$Fxt7Ht5vpuVqpVTPi8aoXupiBCEKzVHdIlnYnDKGf4LRjjwG2IuIy
Check correct: '1' (should be '1')
Output for 5.4.28
Hash: $2a$08$xkvNa7LDH/CDJDoVS87Krev24Ng.wz3O6rQ61AP3rL9.KQaP9DFly
Check correct: '1' (should be '1')
Output for 5.4.27
Hash: $2a$08$O8X98fTfgbdFAr2UKA/HzuhcmqeEomzM7AioxnEPp8BtCU0tm5h96
Check correct: '1' (should be '1')
Output for 5.4.26
Hash: $2a$08$LLoM19qFpwB/Bc7ZJg1DOepR46aj0Mu4C/OZgTUAMGarpL6FOwhpW
Check correct: '1' (should be '1')
Output for 5.4.25
Hash: $2a$08$9SRB/u.ejzdG.cK/YPfK8.lwRjiRjS2rta1Oafme4p0odImpTDoc2
Check correct: '1' (should be '1')
Output for 5.4.24
Hash: $2a$08$7u91bhx2zeXjyeYhuctUYO1wc075Wrl6Pz.iDeIt7S1/xR4k6MKlO
Check correct: '1' (should be '1')
Output for 5.4.23
Hash: $2a$08$zEvx2kLYx7cUNm8wgMLUWOIatpPPJQivZ3S1xGd8QVBQ2igb9ceVG
Check correct: '1' (should be '1')
Output for 5.4.22
Hash: $2a$08$ds66d2TIiCeW3nfUvuAs6OJRUQ.EM4NWSJ12pO6m3WMmaViIyMbQi
Check correct: '1' (should be '1')
Output for 5.4.21
Hash: $2a$08$fYTWLk./NXbMMXxcl3ipTu3rqc3AAW/x1f7Dm9m5L5EQzZKS3khFy
Check correct: '1' (should be '1')
Output for 5.4.20
Hash: $2a$08$UT2y1aqhqbknFF0gUQy58.eWSGOIbbwRfu8XvDVpO3ZX.Xrgikp4i
Check correct: '1' (should be '1')
Output for 5.4.19
Hash: $2a$08$cGJP7u5pDOew4nNz5oKsO.7Z7rBq6gIPOU.C.GxQGEiku9tjXBsHa
Check correct: '1' (should be '1')
Output for 5.4.18
Hash: $2a$08$vT8.yvZ22wW0wQ7JcFZTNeDfnubRcd3a1./WHtejQdI68ArTQf6Qm
Check correct: '1' (should be '1')
Output for 5.4.17
Hash: $2a$08$lxiL8L4bXwLYymDRCpGtJu11sVz9OlzpyMF0eWZpLJDzuQ4XTkOBO
Check correct: '1' (should be '1')
Output for 5.4.16
Hash: $2a$08$ZqqdV2gDHDhnlRLuLuSUFe4dLXK1lUPCk0Qsqv8YnC06JhuQRnzIK
Check correct: '1' (should be '1')
Output for 5.4.15
Hash: $2a$08$4DxG9WKAb4d5WfuPPhx2vOSBI61J4Df5oWztEhkI7d34wYDA.teqG
Check correct: '1' (should be '1')
Output for 5.4.14
Hash: $2a$08$jHfp4Qro6py0QSa1eVZLWuZd4EDTHiijawO/gLcyzNcB.IhLtI7Ua
Check correct: '1' (should be '1')
Output for 5.4.13
Hash: $2a$08$EbteG/mC4L55jflwZeiYOOwqWnW.T975Jcyik8w8pLQkQbLQd0mDq
Check correct: '1' (should be '1')
Output for 5.4.12
Hash: $2a$08$vk7dIenhao7wvV5vufD88eUEesrsgJ/xB9UIbaBAGpEIIdrgfTVeW
Check correct: '1' (should be '1')
Output for 5.4.11
Hash: $2a$08$.9l2dK0vSdXTuU9P5y/w7eTfFgg25qAgeNXXTqI7c8arHemtYA.LO
Check correct: '1' (should be '1')
Output for 5.4.10
Hash: $2a$08$RI7T0QTM6TuTwCXLDsPPn.KjTKXohp8uSbaBSbKrE.ykOnCjm/QK6
Check correct: '1' (should be '1')
Output for 5.4.9
Hash: $2a$08$vCl3fHOHb7706RXS93flpOFoZBaQDjYKPXVpPGBNuIqiVTzzEreim
Check correct: '1' (should be '1')
Output for 5.4.8
Hash: $2a$08$4B2TRuNRbx98ALI4t5prOusSuOIrHWledRFUFRg/FktkzbsJuj8Ca
Check correct: '1' (should be '1')
Output for 5.4.7
Hash: $2a$08$9MNRVL9D0BBMsaSQ.m/PfugLMjQknQorVPBRhLpkzH5e4pLaVea3W
Check correct: '1' (should be '1')
Output for 5.4.6
Hash: $2a$08$dBWNPlhnP86Ub.FcPWmc0unYuCY3V5YikExibpZw3f1tbuNRDToSi
Check correct: '1' (should be '1')
Output for 5.4.5
Hash: $2a$08$cFQLZOFTkXszYv1KKH1PJ.x8OWuZ4ZUQJio2Q4UOQw0TlKj3MLn3O
Check correct: '1' (should be '1')
Output for 5.4.4
Hash: $2a$08$ao0KtbgEhiJ/PJ9SFXGnM.pfkru5wnOdclSGo5BQOlBoz4CwqFhd2
Check correct: '1' (should be '1')
Output for 5.4.3
Hash: $2a$08$WqI3rK6VruMAO0WG6/nBwe3jmqAeVkOBE4zK97bZXJfJS9ODvX1kC
Check correct: '1' (should be '1')
Output for 5.4.2
Hash: $2a$08$ymZGfyjMXwwddXomwnvG0.2hnE9FUbxruc0/YjZD8NrF7NuEBbj7O
Check correct: '1' (should be '1')
Output for 5.4.1
Hash: $2a$08$J3r2.DZvQUo7BNQe83iC2uJRBbaAulI2psviVgkzZXp0VSiS91scm
Check correct: '1' (should be '1')
Output for 5.4.0
Hash: $2a$08$RFPGpYhrkA7qcr4UTCeKxuim/eoI43c8MFFWH4i4K0CLpziA31hpa
Check correct: '1' (should be '1')
Output for 5.3.29
Hash: $2a$08$fEO3bCNNgRI5YK6YLW6Q/uoO9vPT1nZ93ChU2nJ.HOPB5Y0iBdh5.
Check correct: '1' (should be '1')
Output for 5.3.28
Hash: $2a$08$Wb1v0bi1di3VtblhvyBnsub1lNNSG9iZYWaVOQ7iSgJWVYg73a3pu
Check correct: '1' (should be '1')
Output for 5.3.27
Hash: $2a$08$g83gfYCOs6vxKDyzWPOo7eOxIgKU8cJ3pofdnVhajaoDXu78oJdB6
Check correct: '1' (should be '1')
Output for 5.3.26
Hash: $2a$08$QEL6WIpznj6lZHq7f1qSE.IXFG2Pr/bIuGYOXjSou0NIgFbJnOv6C
Check correct: '1' (should be '1')
Output for 5.3.25
Hash: $2a$08$iPo5HiOU3TCakMsWJ2ZvwO6HesblwQXvTXmn2w92TiJ/iCIF1681e
Check correct: '1' (should be '1')
Output for 5.3.24
Hash: $2a$08$7uaD86W52tQRhhjh7jiRWOe8cX3k.3HWNc0wfiseGPcPumY8fKnwK
Check correct: '1' (should be '1')
Output for 5.3.23
Hash: $2a$08$jOPYeya8zUbdNW.TQoEv7eWfH7WX4.wudij/IVGEppqViJl/IHwP2
Check correct: '1' (should be '1')
Output for 5.3.22
Hash: $2a$08$hYM9gioOMgn1lO8vWjQZOufob.GNxx0GA8i8gULwjOvpnlxvMc/ma
Check correct: '1' (should be '1')
Output for 5.3.21
Hash: $2a$08$tor0U5z.pli3FSYo/D3ISuURAP3e4LMGv/4mjWzG71WKByjfI17My
Check correct: '1' (should be '1')
Output for 5.3.20
Hash: $2a$08$tZhVA1tCbg7uv3Oi2ififegVkfH7ghPeg5h0d/wVJ.qTzJpjtiBsi
Check correct: '1' (should be '1')
Output for 5.3.19
Hash: $2a$08$xBRFvORhYGvxJ/3.OK8TKu67Vw1T6xZPb2UEa.LJPT6GXUiO0lOHS
Check correct: '1' (should be '1')
Output for 5.3.18
Hash: $2a$08$3tuHwOhu/6HV9Zekud2iHuD90zMRrf/Yfuh9HYMs3PLFN0iGsfVQC
Check correct: '1' (should be '1')
Output for 5.3.17
Hash: $2a$08$Dv4JvwTv57Rr/Uas7HEvlutAFIqxr8S9mRhXAFkBfPerrO4mbYrHa
Check correct: '1' (should be '1')
Output for 5.3.16
Hash: $2a$08$LkIN.Qz7.LbnQOOdRvECQuqoShRrXUhxrMYPz0MivzmsCa6ceC1ei
Check correct: '1' (should be '1')
Output for 5.3.15
Hash: $2a$08$k3P1YQOfad8i3EUMmahtKuEk6Wkb0KaDpN23m2400wfW19dN8W4d.
Check correct: '1' (should be '1')
Output for 5.3.14
Hash: $2a$08$3ooUHYvItCUIF956aacJYuh.VuGbJ5jVoDCQJaFQywX0vr/XBid4.
Check correct: '1' (should be '1')
Output for 5.3.13
Hash: $2a$08$MDD/f.ncUgMefpLKr/OcA.EZvZ4lYo63DHJ3t3q8XcYtMIJj7cQ9m
Check correct: '1' (should be '1')
Output for 5.3.12
Hash: $2a$08$/f0KuIqEEiCvFLIQvCwFEua0Tqv7TmTwlGNFIjLnZt.1XQqJJcCCC
Check correct: '1' (should be '1')
Output for 5.3.11
Hash: $2a$08$yGyfkvQ5sCdZRq0y3R4qw..GFbYrkL65swvzBF2vPpHKQHEvJlP3u
Check correct: '1' (should be '1')
Output for 5.3.10
Hash: $2a$08$PZmVhhaoQiZDvqy6eA/jhOFB5/J4l6WYxeFrNhSE0VplLSHFJh2tW
Check correct: '1' (should be '1')
Output for 5.3.9
Hash: $2a$08$YLnXAT0XpsKjuXFyCzAUx.mCLurZ/9tLzd2hw8QM.qXDoS4agnUiG
Check correct: '1' (should be '1')
Output for 5.3.8
Hash: $2a$08$BZlGbMZr3sT8B46jtOWBg.xVBbWsITKoTJ9gSLjj6Lw8YjgBwf5/m
Check correct: '1' (should be '1')
Output for 5.3.7
Hash: $2a$08$8eIWGMdoiQYOk.lkbqq1Ve1.AuzZM4X8F12Fb6iSSkyPcQPuCbK0a
Check correct: '1' (should be '1')
Output for 5.3.6
Hash: $2a$08$hOs2gsSxmm.I4/7KLMs/h.DwJ3hvzt7voq7aQvSfvBIGpovn5UhpS
Check correct: '1' (should be '1')
Output for 5.3.5
Hash: $2a$08$gOKdt.NzQG2XPkKnS2Ifeu/Ex5G6hNbd5A86b8mCzBMjPo6MgNvP2
Check correct: '1' (should be '1')
Output for 5.3.4
Hash: $2a$08$vg.UnI1QyUnBBw0.UL.3ZeK8ubua08X2I4BE8eBZjwIz8Xz0KWpXa
Check correct: '1' (should be '1')
Output for 5.3.3
Hash: $2a$08$l4bFOde04f1yZOtTGWMp5.vq96Q/Iq/qwKLHD78JRRRsYNhHt.Bou
Check correct: '1' (should be '1')
Output for 5.3.2
Hash: $2a$08$Y1ihyISuJsn93Ty8kgh.vu7eDUBH1XwdBo0A9jsL9D4xxA9otVSUu
Check correct: '1' (should be '1')
Output for 5.3.1
Hash: $2a$08$HRQNVd4E9Mcp5cYP13y.ceTeJ5XC8jmLevSAWjDN5mw76NaCySjK2
Check correct: '1' (should be '1')
Output for 5.3.0
Hash: $2a$08$a900K.W7ZgR4CSxQRjGHCew0609It5XU/LmY5n4t3FsIpYxfKCG3y
Check correct: '1' (should be '1')