summaryrefslogtreecommitdiff
path: root/modules/user/helpers/user_password.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/helpers/user_password.php')
-rw-r--r--modules/user/helpers/user_password.php83
1 files changed, 0 insertions, 83 deletions
diff --git a/modules/user/helpers/user_password.php b/modules/user/helpers/user_password.php
deleted file mode 100644
index 45de5bef..00000000
--- a/modules/user/helpers/user_password.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php defined("SYSPATH") or die("No direct script access.");
-/**
- * Gallery - a web based photo album viewer and editor
- * Copyright (C) 2000-2008 Bharat Mediratta
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
- */
-class user_password {
-
- /**
- * Is the password provided correct?
- *
- * @param user User Model
- * @param string $password a plaintext password
- * @return boolean true if the password is correct
- */
- public static function is_correct_password($user, $password) {
- $valid = $user->password;
-
- $salt = substr($valid, 0, 4);
- /* Support both old (G1 thru 1.4.0; G2 thru alpha-4) and new password schemes: */
- $guess = (strlen($valid) == 32) ? md5($password) : ($salt . md5($salt . $password));
- if (!strcmp($guess, $valid)) {
- return true;
- }
-
- /* Passwords with <&"> created by G2 prior to 2.1 were hashed with entities */
- $sanitizedPassword = html::specialchars($password, false);
- $guess = (strlen($valid) == 32) ? md5($sanitizedPassword)
- : ($salt . md5($salt . $sanitizedPassword));
- if (!strcmp($guess, $valid)) {
- return true;
- }
-
- /* Also support hashes generated by phpass for interoperability with other applications */
- if (strlen($valid) == 34) {
- $hashGenerator = new PasswordHash(10, true);
- return $hashGenerator->CheckPassword($password, $valid);
- }
-
- return false;
- }
-
- /**
- * Create the hashed passwords.
- * @param string $password a plaintext password
- * @return string hashed password
- */
- public static function hash_password($password) {
- return user_password::_md5Salt($password);
- }
-
- /**
- * Create a hashed password using md5 plus salt.
- * @param string $password plaintext password
- * @param string $salt (optional) salt or hash containing salt (randomly generated if omitted)
- * @return string hashed password
- */
- private static function _md5Salt($password, $salt='') {
- if (empty($salt)) {
- for ($i = 0; $i < 4; $i++) {
- $char = mt_rand(48, 109);
- $char += ($char > 90) ? 13 : ($char > 57) ? 7 : 0;
- $salt .= chr($char);
- }
- } else {
- $salt = substr($salt, 0, 4);
- }
- return $salt . md5($salt . $password);
- }
-}