
03.09.2007, 13:36
|
|
Крёстный отец :)
Регистрация: 22.06.2005
Сообщений: 1,330
Провел на форуме: 5302668
Репутация:
2054
|
|
сделай свою ф-ию алгоритма хеширования пароля, к примеру:
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..
Причина: подправил пост
|
|
|