- preg_match: documentation ( source)
- hash: documentation ( source)
<?php
$password = '+n6p7y499({)EHqvyKz;Dd';
$salt = str_rev('7cc83d7a873d3eaf761dbe903a21b0d4');
$loop = preg_match('/(\d)/', $salt, $m) ? 10 + (int) $m[1] : 10;
$encrypted = $password;
for ($i = 0; $i < $loop; $i++) {
$encrypted = hash('sha512', ($i % 2) ? ($salt . $encrypted) : ($encrypted . $salt));
}
echo $encrypted . PHP_EOL . $salt;