*
* @return int
*/
- protected static function strlen( $str ) {
+ protected static function strlen ($str) {
static $isShadowed = null;
if ($isShadowed === null) {
*
* @return string The salt
*/
- public static function generateScryptSalt($length = 8)
+ public static function generateScryptSalt ($length = 8)
{
$buffer = '';
$buffer_valid = false;
*
* @return string The hashed password
*/
- public static function hashScrypt($password, $salt = false, $N = 16384, $r = 8, $p = 1)
+ public static function hashScrypt ($password, $salt = false, $N = 16384, $r = 8, $p = 1)
{
+ if ((!FrameworkConfiguration::getSelfInstance()->isConfigEntrySet('extension_scrypt_loaded')) || (FrameworkConfiguration::getSelfInstance()->getConfigEntry('extension_scrypt_loaded') === FALSE)) {
+ // Feature has been disabled
+ throw new \InvalidArgumentException('Feature "scrypt" disabled.');
+ }
+
if ($N == 0 || ($N & ($N - 1)) != 0) {
throw new \InvalidArgumentException('N must be > 0 and a power of 2');
}
*
* @return boolean If the clear text matches
*/
- public static function checkScrypt($password, $hash)
+ public static function checkScrypt ($password, $hash)
{
// Is there actually a hash?
if (!$hash) {
return false;
}
+ if ((!FrameworkConfiguration::getSelfInstance()->isConfigEntrySet('extension_scrypt_loaded')) || (FrameworkConfiguration::getSelfInstance()->getConfigEntry('extension_scrypt_loaded') === FALSE)) {
+ // Feature has been disabled
+ throw new \InvalidArgumentException('Feature "scrypt" disabled.');
+ }
+
list ($N, $r, $p, $salt, $hash) = explode('$', $hash);
// No empty fields?
*
* @return boolean If the two strings match.
*/
- public static function compareScryptHashes($expected, $actual)
+ public static function compareScryptHashes ($expected, $actual)
{
$expected = (string) $expected;
$actual = (string) $actual;