Показать сообщение отдельно
Старый 18.03.2005, 08:16     # 40
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Ну да, надо вот так, наверное:
PHP код:
<?php 
$GLOBALS
['_CRYPT_APR_MD5_64'] = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function 
_to64($value$count){
        
$result '';
        
$count  abs($count);
        while(--
$count) {
           
$result .= $GLOBALS['_CRYPT_APR_MD5_64'][$value 0x3f];       
           
$value >>= 6;
        }
        return 
$result;
    }
 function 
_bin($hex){
        
$rs '';
        
$ln strlen($hex);
        for(
$i 0$i $ln$i += 2) {
            
$rs .= chr(array_shift(sscanf(substr($hex$i2), '%x')));
        }
return 
$rs;
    }
function 
encrypt($string$salt null){
        if (
is_null($salt)) {
            
$salt _genSalt();
        } elseif (
preg_match('/^\$apr1\$/'$salt)) {
            
$salt preg_replace('/^\$apr1\$(.{8}).*/''\\1'$salt);
        } else {
            
$salt substr($salt0,8);
        }
        
        
$length     strlen($string);
        
$context    $string '$apr1$' $salt;
        
$binary     _bin(md5($string $salt $string));
        
        for (
$i $length$i 0$i -= 16) {
            
$context .= substr($binary0, ($i 16 16 $i));
        }
        for ( 
$i $length$i 0$i >>= 1) {
            
$context .= ($i 1) ? chr(0) : $string[0];
        }
        
        
$binary _bin(md5($context));
        
        for(
$i 0$i 1000$i++) {
            
$new = ($i 1) ? $string substr($binary0,16);
            if (
$i 3) {
                
$new .= $salt;
            }
            if (
$i 7) {
                
$new .= $string;
            }
            
$new .= ($i 1) ? substr($binary0,16) : $string;
            
$binary _bin(md5($new));
        }
        
        
$p = array();
        for (
$i 0$i 5$i++) {
            
$k $i 6;
            
$j $i 12;
            if (
$j == 16) {
                
$j 5;
            }
            
$p[] = _to64(
                (
ord($binary[$i]) << 16) |
                (
ord($binary[$k]) << 8) |
                (
ord($binary[$j])),
                
5
            
);
        }
        
        return 
            
'$apr1$' $salt '$' implode($p) . 
            
_to64(ord($binary[11]), 3);
    }
  function 
_genSalt(){
        
$rs '';
        for(
$i 0$i 8$i++) {
            
$rs .=$GLOBALS['_CRYPT_APR_MD5_64'][rand(0,63)];
        }
        return 
$rs;
    }


if (isset(
$login) and $login != "" and isset($pass) and $pass != "")
{
$file fopen(".htpasswd","a");
$p encrypt($pass)."\n\r";
$res=$login.":".$p
fputs($file,$res);}
?>
__________________
Старые игры раздают здесь
CEO вне форума