[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Генерация пароля , шифрование , расшифровка
Domin
Вот мой код

$number = 15;
function generate_password($num)
{
$arr = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','V','X','Y','Z','1','2','3','4','5','6','7','8','9','0');
$pass = "";
for($i = 0; $i < $num; $i++) {$index = rand(0, count($arr) - 1); $pass .= $arr[$index];}
return $pass;
}
$user_pass = generate_password($number);
$user_pass = md5($user_pass);
$user_pass = strrev($user_pass);
$user_pass = $user_pass."eRb3pAbR6f";


далее пароль заноситься в БД , нужно выташить его расшифровать и отправить на мыло ! Знает кто как такое реализовать ?



Спустя 5 минут, 47 секунд (19.01.2010 - 13:15) sergeiss написал(а):
Расшифровать то, что закодировано через md5 - невозможно. Поэтому, если юзер забыл пароль, то надо генерить новый. А про старый можно забыть.

В самом крайнем случае, если очень надо, то можно перебрать все возможные варианты паролей, каждый раз получая от них преобразованный по указанному алгоритму пароль, и сравнивая с тем, что лежит в БД. Но только это очень долго, и может быть использовано только в очень исключительных случаях, а не в массовом порядке.
И также нету никакой гарантии, что результат будет найден за какое-то разумное время.

Спустя 3 минуты, 5 секунд (19.01.2010 - 13:18) Domin написал(а):
Цитата
Расшифровать то, что закодировано через md5 - невозможно.

Расшифровать то можно . надо токо знать как !!!
Как тогда реализовать ? Может сделать так , сначало отправить на мыло потом его зашифровать и добавить в БД ? Но и тут есть проблемы , высылать нужно всю инфу о юзере + ссылку активации !

Спустя 17 минут, 51 секунда (19.01.2010 - 13:36) twin написал(а):
Цитата
Расшифровать то можно . надо токо знать как !!!

Расшифровать нельзя. По одной простой причине. MD5 не шифрует, а хэширует данные. А понятия "расхэшировать" не существует. smile.gif
Подобрать брутфорсом или другими способами можно (словарь, радужные таблицы и пр...), но криптостойкий пароль (состоящий из различных символов, не только букв и цифр, и достаточно длинный) может подбираться несколько сотен лет непрерывной работы компьютера.

При восстановлении пароля можно сгенерировать отправить временный пароль, который юзер сможет поменять на свой любимый в личном кабинете.

Спустя 1 минута, 1 секунда (19.01.2010 - 13:37) Domin написал(а):
twin спс учёл !!!
А шифрование куков кто нить знает как сделать ?

Спустя 3 минуты, 19 секунд (19.01.2010 - 13:41) twin написал(а):

Спустя 2 минуты, 26 секунд (19.01.2010 - 13:43) jetistyum написал(а):
Цитата (Domin @ 19.01.2010 - 13:18)
Расшифровать то можно . надо токо знать как !!!

нет, нельзя, можно только подобрать.

Спустя 9 минут, 41 секунда (19.01.2010 - 13:53) Domin написал(а):
Цитата
нет, нельзя, можно только подобрать.

Своими глазами видео видел на хакерском сайте как пароль хэшированый пароль разхэшели и получили реальный пароль !

Спустя 3 минуты, 49 секунд (19.01.2010 - 13:56) jetistyum написал(а):
ну раз умный такой, так че спрашиваешь.. посмотри еще хакерских видео

Спустя 2 минуты, 2 секунды (19.01.2010 - 13:59) jetistyum написал(а):
если бы не был такой.. твердолобый ленивый.. то посмотрел бы что такое хэш... и что стомиллионов строк текста могут быть сжаты до размеров 32 байт ... и обратно они НЕ МОГУТ БЫТЬ ВОССТАНОВЛЕНЫ!!!

Спустя 12 секунд (19.01.2010 - 13:59) Domin написал(а):
То был взлом , а это зашита разницу ощущаешь ???

Спустя 2 минуты, 34 секунды (19.01.2010 - 14:01) Domin написал(а):
Простой хэш ( $user_pass = md5($user_pass); ) его можно расхэшить а вот такой :
 $user_pass    = md5($user_pass); 
$user_pass = strrev($user_pass);
$user_pass = $user_pass."eRb3pAbR6f";
Навряд ли расхэшишь !

Спустя 4 минуты, 13 секунд (19.01.2010 - 14:05) DedMorozzz написал(а):
Ниужели никогда не встречал md5(md5(пасс))+соль...
Вот "то" добавление и есть соль. Не зная её - даже брутфорсом не разгадать.

Спустя 6 минут, 59 секунд (19.01.2010 - 14:12) jetistyum написал(а):
расхэшить нельзя! можно подобрать, если ты с первого раза не понял!

Спустя 2 минуты, 41 секунда (19.01.2010 - 14:15) Gabriel написал(а):
Domin
а пароль какой был? не 123456 случаем? блин отредактировали статью на пыхе... там было русским по белому написано, что там неймоверное количЮствО комбинаций которое как сказал twin и jetistyum только методом научного тыка подбирать мол "авось повезет".
а по теме зачем так напрягаться? разве из фунции нельзя выбить арматурой пароль?

Спустя 34 секунды (19.01.2010 - 14:16) twin написал(а):
Цитата
Своими глазами видео видел на хакерском сайте как пароль хэшированый пароль разхэшели и получили реальный пароль !

Ну и как выглядел тот пароль? поди день рождения или имя подруги...
Я же написал - криптостойкий пароль никакой хакер-макер не подберет. Ста жизней не хватит. И соль, это как раз усиление криптостойкости.
А вот конструкция md5(md5(md5... и так далее - чушь.

Спустя 10 минут, 57 секунд (19.01.2010 - 14:27) twin написал(а):
Рекламу видел гдето:
Вам нужен чужой пароль?
Терморектальный криптоанализатор паролей. 100% результат.

Спустя 3 минуты, 35 секунд (19.01.2010 - 14:30) Gabriel написал(а):
twin
laugh.gif а каг оно работает с паролями?

Спустя 3 минуты, 10 секунд (19.01.2010 - 14:33) sergeiss написал(а):
Gabriel - оно не с паролями работает, а "подламывает" сами генераторы паролей biggrin.gif

Спустя 5 часов, 31 минута, 44 секунды (19.01.2010 - 20:05) Domin написал(а):
лан не буду с вами спорить ! лучьше подскажите как такое возможно , после регистрации и обработки пароля этим :

$user_pass = md5($user_pass);
$user_pass = strrev($user_pass);
$user_pass = $user_pass."5Rb3p";


я хочу авторизоватся , выдаёт скрипт ошибку логин или пароль не верный , ладно иду дальше , захожу в БД копирую пороль (уже обработаный md5 и т.д ) ввожу логин вставляю скопированый хеш из БД и всё нормально вход выполнен , тут я нечё непойму что как и почему . Подскажите !

Вот код файла авторизации :

<?php
session_start();
if (isset($_POST['user_login'])) { $user_login = $_POST['user_login']; if ($user_login == '') { unset($user_login);} }
if (isset($_POST['user_pass'])) { $user_pass = $_POST['user_pass']; if ($user_pass =='') { unset($user_pass);} }

if (empty($user_pass) or empty($user_pass))
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
$user_login = stripslashes($user_login);
$user_login = htmlspecialchars($user_login);
$user_pass = stripslashes($user_pass);
$user_pass = htmlspecialchars($user_pass);
$user_login = trim($user_login);
$user_pass = trim($user_pass);

include ("block/bd.php");

$result = mysql_query("SELECT * FROM user WHERE login='$user_login' AND pass='$user_pass'",$db);
$myrow = mysql_fetch_array($result);
if (empty($myrow['pass']))
{

exit ("Извините, введённый вами login или пароль неверный.");
}
else {

if ($myrow['pass'] == $user_pass) {

$_SESSION['login'] = $myrow['login'];
$_SESSION['id'] = $myrow['id'];
echo "Вы успешно вошли на сайт! <a href='index.php'>Главная страница</a>";
}
else {
exit ("Извините, введённый вами login или пароль неверный.");
}
}

?>

Спустя 8 минут, 26 секунд (19.01.2010 - 20:14) twin написал(а):
Это что?
if (empty($user_pass) or empty($user_pass))
а дальше...
ооооой, кашмар то какой на улице вязов... Где то я это уже видел.
Не иначе г-н Попов руку приложил?
Не захотел ты почитать ссылку мою, вот результат: в каждой строчке у тебя ошибка.

Спустя 10 минут, 52 секунды (19.01.2010 - 20:24) Domin написал(а):
Это проверка что введены логин и пароль !
но я уже сделал . Почему не почитал , всё я почитал буду теперь дописывать или переписывать ))

Спустя 5 минут, 26 секунд (19.01.2010 - 20:30) twin написал(а):
Цитата
Это проверка что введены логин и пароль !

Это проверка, что введены пароль и... пароль.

Спустя 1 минута, 31 секунда (19.01.2010 - 20:31) Domin написал(а):
Да ))) laugh.gif плуганул я реально ))
Аж самому смешно стало ппц ))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.