本文整理汇总了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);
}
示例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));
}
示例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;
}
示例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'];
}