Показать сообщение отдельно

  #28  
Старый 03.09.2007, 13:36
TANZWUT
Крёстный отец :)
Регистрация: 22.06.2005
Сообщений: 1,330
Провел на форуме:
5302668

Репутация: 2054


Отправить сообщение для TANZWUT с помощью ICQ
По умолчанию

сделай свою ф-ию алгоритма хеширования пароля, к примеру:

PHP код:
............
$pass=null;
        
$abc="abcdefghjkmnpqrstuvwxyz".
             
"ABCDEFGHJKLMNPQRSTUVWXYZ";

        
$arr=explode(chr(32),trim(chunk_split($abc,1,chr(32))));
        
$size=count($arr)-1;

            for(
$i=0;$i<$PasswordSize;$i++)
            
$pass.=$arr[rand(0,$size)]; // Создание пароля
            
            // Финкция "Шифровка пароля"
            
function encrypt($s$key)
{
    for(
$i=0;$i<=strlen($s);$i++)
    
$r.=substr(str_shuffle(md5($key)),($i strlen(md5($key))),1).$s[$i];
    for(
$i=1;$i<=strlen($r);$i++) $s[$i-1]=chr(ord($r[$i-1])+ord(substr(md5($key),($i strlen(md5($key)))-1,1)));
    return 
urlencode(base64_encode($s));

                
            
// --------------------------
                
            
$timed date("YmdHis"); // Время регистрации
            
$timef date("d.m.Y H:i:s"); // Время регистрации для письма
            
            //+++++++++++++++++
            
$key md5($timed); // КЛЮЧ Для Кодирования/Декодирования
                
            
$s $pass;
            
$encrypted encrypt($s$key); // Кодирование пароля с ключом
            
$passmd $encrypted;
            
//-----------------
                
            #$ucode = md5($_POST['email']); // Код для активации
                
            
$umail $_POST['email'];
            
$ulog $_POST['login']; 
........... 
PHP код:
................
// Функция Декодирования
function decrypt($s$key)
{
  
$s=base64_decode(urldecode($s));
  for(
$i=1;$i<=strlen($s);$i++) $s[$i-1]=chr(ord($s[$i-1])-ord(substr(md5($key),($i strlen(md5($key)))-1,1)));
  for(
$i=1;$i<=strlen($s)-2;$i=$i+2$r.=$s[$i];
  return 
$r;
}
    
    
$qe=mysql_query("SELECT pass,hash FROM users WHERE login='".$_POST['login']."' LIMIT 1");
    
$re=mysql_fetch_array($qe);
    
    if(
mysql_num_rows($qe)) {
    
        
$key $re["hash"]; // КЛЮЧ Для Кодирования/Декодирования
        
$encrypted $re["pass"];
        
        
$decrypted decrypt($encrypted$key); // Декодирование пароля с ключом
        
        
$pass $decrypted;
        
        
// ------- decode end ---------
        
        
if ($_POST['pass'] == $pass) {
.................. 
__________________
Лучший способ защиты - это нападение!!!

Последний раз редактировалось TANZWUT; 03.09.2007 в 13:42.. Причина: подправил пост