当前位置: 首页>>代码示例>>PHP>>正文


PHP auth::passwd_parse方法代码示例

本文整理汇总了PHP中auth::passwd_parse方法的典型用法代码示例。如果您正苦于以下问题:PHP auth::passwd_parse方法的具体用法?PHP auth::passwd_parse怎么用?PHP auth::passwd_parse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在auth的用法示例。


在下文中一共展示了auth::passwd_parse方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get_data

 function get_data($user)
 {
     if (empty($this->auth_users[$user])) {
         // scheme, salt, role
         return array('', '', '');
     }
     $role = empty($this->auth_users[$user][1]) ? '' : $this->auth_users[$user][1];
     list($scheme, $salt) = auth::passwd_parse($this->auth_users[$user][0]);
     return array($scheme, $salt, $role);
 }
开发者ID:orangeal2o3,项目名称:pukiwiki-plugin,代码行数:10,代码来源:auth_file.cls.php

示例2: des_session_put

 function des_session_put($session_name, $val)
 {
     global $adminpass;
     // adminpass の処理
     list($scheme, $salt) = auth::passwd_parse($adminpass);
     require_once LIB_DIR . 'des.php';
     $_SESSION[$session_name] = base64_encode(des($salt, $val, 1, 0, null));
 }
开发者ID:orangeal2o3,项目名称:pukiwiki-plugin,代码行数:8,代码来源:auth.cls.php

示例3: passwd_undes

function passwd_undes($role, $user, $hash)
{
    if ($role == 2) {
        // adminpass
        global $adminpass;
        list($scheme, $key) = auth::passwd_parse($adminpass);
    } else {
        $obj = new auth_file(PKWK_AUTH_FILE);
        list($o_scheme, $key, $o_role) = $obj->get_data($user);
    }
    $hash = des($key, base64_decode($hash), 0, 0, null);
    if (!preg_match('/^[a-z0-9]+$/iD', $hash)) {
        return false;
    }
    return $hash;
}
开发者ID:aterai,项目名称:pukiwiki-plus-i18n,代码行数:16,代码来源:passwd.inc.php

示例4: htdigest_save

function htdigest_save($username, $p_realm, $hash, $role)
{
    global $realm, $_htdigest_msg;
    if ($realm != $p_realm) {
        return $_htdigest_msg['msg_realm'];
    }
    // DES
    if ($role > 2) {
        $key = htdigest_get_hash($username, $p_realm);
    } else {
        // adminpass
        global $adminpass;
        list($scheme, $key) = auth::passwd_parse($adminpass);
        // FIXME: MD5 ONLY
        if ($scheme != '{x-php-md5}') {
            return $_htdigest_msg['err_md5'];
        }
    }
    $hash = des($key, base64_decode($hash), 0, 0, null);
    if (!preg_match('/^[a-z0-9]+$/iD', $hash)) {
        return $_htdigest_msg['err_key'];
    }
    // SAVE
    if (file_exists(HTDIGEST_FILE)) {
        $lines = file(HTDIGEST_FILE);
    } else {
        $fp = fopen(HTDIGEST_FILE, 'w');
        @flock($fp, LOCK_EX);
        fputs($fp, $username . ':' . $realm . ':' . $hash . "\n");
        @flock($fp, LOCK_UN);
        @fclose($fp);
        return $_htdigest_msg['msg_1st'];
    }
    $sw = FALSE;
    foreach ($lines as $no => $line) {
        $field = split(':', trim($line));
        if ($field[0] == $username && $field[1] == $p_realm) {
            if ($field[2] == $hash) {
                return $_htdigest_msg['msg_not_update'];
            }
            $sw = TRUE;
            $lines[$no] = $field[0] . ':' . $field[1] . ':' . $hash . "\n";
            break;
        }
    }
    if (!$sw) {
        $fp = fopen(HTDIGEST_FILE, 'a');
        @flock($fp, LOCK_EX);
        fputs($fp, $username . ':' . $p_realm . ':' . $hash . "\n");
        @flock($fp, LOCK_UN);
        @fclose($fp);
        return $_htdigest_msg['msg_add'];
    }
    $fp = fopen(HTDIGEST_FILE, 'w');
    @flock($fp, LOCK_EX);
    foreach ($lines as $line) {
        fwrite($fp, $line);
    }
    @flock($fp, LOCK_UN);
    @fclose($fp);
    return $_htdigest_msg['msg_update'];
}
开发者ID:aterai,项目名称:pukiwiki-plus-i18n,代码行数:62,代码来源:htdigest.inc.php


注:本文中的auth::passwd_parse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。