Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация

Шифрование пароля

-

Боты, скрипты и прочий софт для Lineage 2

- Весь софт по Lineage 2 и все, что связано с ботоводством, скриптописанием и брутом - в этом разделе

Ответ
 
Опции темы Опции просмотра
Старый 23.06.2009, 12:10   #1
Заблокирован
 Пехотинец
Аватар для Silence
 
Silence скоро будет известенSilence скоро будет известенSilence скоро будет известенSilence скоро будет известен
Регистрация: 17.06.2009
Сообщений: 60
Популярность: 382
Сказал(а) спасибо: 63
Поблагодарили 151 раз(а) в 49 сообщениях
 
По умолчанию Шифрование пароля

Код:
<?php session_start();?>

<center>
| <a href="index.php?id=register">Регистрация</a> 
| <a href="index.php?id=cp">Личный кабинет</a> 
| <a href="index.php?id=jail">Новости</a>
| <a href="index.php?id=changepassword2">Смена пароля</a>|<br><hr>
<center/>

<?php

// Настройка базы данных.

$dbuser = ""; // Пользователь
$dbpass = ""; // Пароль
$dbhost = ""; // Адресс БД
$dbname = "l2j"; // Имя базы данных

// Настройка скрипта
$savedata = "true"; //Сохранять или нет пользовательские данные, пароль логин, icq , email. По умолчанию включено.

// Начало скрипта
$fsname = $_SERVER['SCRIPT_NAME'];
$msconn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Ошибка соединения");
MYSQL_SELECT_DB($dbname) or die ("БД не найдена");

if ($_GET[step]=="2"){
$login = $_POST[login];
$pass = $_POST[pass];
$pass2 = $_POST[repeat];
$email = $_POST[email];

//1 часть Капчи
if(isset($_SESSION['captcha_keystring'])&&
$_SESSION['captcha_keystring']==$_POST['keystring'])
{

if ($login == "") {
echo ("<center>Вы не ввели логин</center>");
}else{
if ($pass == "") {
echo ("<center>Пароль не может быть пустым</center>");
}else{
if ($pass == $pass2) {
$q = mysql_query("SELECT * FROM accounts WHERE login='{$login}'");
if(!mysql_numrows($q) > "0") {
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));
mysql_query("INSERT INTO accounts(login, password, email, lastactive, access_level) VALUES('$login' , '$gamepass', '$email', '$lastactive', '0')");
if ($savedata == "true") {
mysql_query("INSERT INTO account_info(login, password, email) VALUES('$login' , '$pass', '$email')");
}
echo ("<center>Аккаунт <font color='green'>".$login."</font> успешно зарегистрирован</center>");
} else {
echo ("<center>Имя <font color='red'>".$login."</font> уже зарегистрировано, попробуйте другое.</center>");
}
}else {
echo ("<center>Пароли не совпадают</center>");
}
}
}


//2 часть Капчи
}else{
echo ("<font color='red'>Вы ввели не верный код с картинки</font><br>");
}
unset($_SESSION['captcha_keystring']);

} elseif ($_GET[act]==""){
echo ('<form name="form1" method="post" action="'.$fsname.'?id=register&step=2">
<center>Для создания аккаунта Вам следует заполнить эту форму. <br>В поле <b>"Аккаунт"</b> можно
использовать только символы <b>A-Z, a-z</b>.<br>
<br>
<br>
<b>Все поля формы обязательны к заполнению (регистр букв имеет значение):</b>
<br>
<br>
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="105" align="right">Аккаунт:</td>
<td width="161"><label>
&nbsp;&nbsp;<input name="login" type="text" id="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль:</td>
<td><label>
&nbsp;&nbsp;<input name="pass" type="password" id="pass">
</label></td>
</tr>
<tr>
<td align="right">Повторите пароль:</td>
<td><label>
&nbsp;&nbsp;<input name="repeat" type="password" id="repeat">
</label></td>
</tr>
</tr>
<tr>
<td align="right">E-Mail:</td>
<td><label>
&nbsp;&nbsp;<input name="email" type="text" id="email">
</label></td>
</tr>

<tr>
<td align="right">Введите код с картинки:</td>
<td align="right">

<p><img src="kcaptcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>

</td>
</tr>

<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
&nbsp;&nbsp;<input type="submit" name="Submit" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>
<p>&nbsp;</p>
');
}
?>
Никому и никогда не говорите свой пароль, даже если человек, спрашивающий пароль, представляется администратором или Gamemaster'ом сервера. Помните, администрации сервера никогда не требуются ваши пароли.
Что мне нужно поменять в этом скрипте что бы при регистрации пароль в базе не был зашифрован?
P.S. В серверную не переносить, это для угона паролей -)
  Ответить с цитированием
Старый 23.06.2009, 12:43   #2
 Пехотинец
Аватар для Кузя
 
Кузя скоро будет известенКузя скоро будет известенКузя скоро будет известенКузя скоро будет известенКузя скоро будет известен
Регистрация: 01.07.2008
Сообщений: 83
Популярность: 442
Сказал(а) спасибо: 23
Поблагодарили 92 раз(а) в 46 сообщениях
 
По умолчанию Re: Шифрование пароля

Цитата:
Сообщение от SilenceПосмотреть сообщение
Что мне нужно поменять в этом скрипте что бы при регистрации пароль в базе не был зашифрован?
P.S. В серверную не переносить, это для угона паролей -)

вот эту строку убрать:
Код:
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));
а здесь
Код:
mysql_query("INSERT INTO accounts(login, password, email, lastactive, access_level) VALUES('$login' , '$gamepass', '$email', '$lastactive', '0')");
поменять на
Код:
mysql_query("INSERT INTO accounts(login, password, email, lastactive, access_level) VALUES('$login' , '$pass', '$email', '$lastactive', '0')");
но через этот скрипт у тебя пароль и так заносится без шифрования в другую, я так понимаю дополнительную, таблицу account_info:
Код:
mysql_query("INSERT INTO account_info(login, password, email) VALUES('$login' , '$pass', '$email')");
________________
Благодарности принимаю в виде пива и денег.Торты и конфеты не пью!
  Ответить с цитированием
Пользователь сказал cпасибо:
Silence (23.06.2009)
Старый 09.10.2021, 16:10   #3
 Разведчик
Аватар для IanMarkov
 
IanMarkov никому не известный тип
Регистрация: 15.08.2020
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Шифрование пароля

Цитата:
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));

Как поменять шифрование на BCrypt?

Пробовал
$gamepass = password_hash($pass,PASSWORD_DEFAULT);
$gamepass = password_hash($pass,PASSWORD_BCRYPT);

Но пароль сохраняет в формате
$2y$10$UckvxD3LD8O.02NDgnAJsOo6dWFk/ZFjEkCq0rFTTVbVl68hglg46
А нужно
$2a$10$r24ioq9QBXft4we0MIO2UuJ07SPryfhyQn68QB2CWoaXaPlVe2 qei

Что делаю не так? Помогите пожалуйста

Последний раз редактировалось IanMarkov; 09.10.2021 в 17:04. Причина: дурачек просто..
  Ответить с цитированием
Старый 10.10.2021, 00:27   #4
 Разведчик
Аватар для Terror1st
 
Terror1st скоро будет известенTerror1st скоро будет известенTerror1st скоро будет известенTerror1st скоро будет известенTerror1st скоро будет известен
Регистрация: 08.08.2010
Сообщений: 23
Популярность: 459
Сказал(а) спасибо: 23
Поблагодарили 16 раз(а) в 10 сообщениях
 
По умолчанию Re: Шифрование пароля

Цитата:
Но пароль сохраняет в формате
$2y$10
А нужно
$2a$10

Информация с вики по bcrypt: "The prefix $2a$ or $2b$ (or in case the PHP package crypt_blowfish in particular: $2x$ and $2y$".
От этого и надо плясать.

Вообще, здорово наверное поднимать тему одиннадцатилетней давности?))
________________
Цитата:
Сообщение от PB+GTA4=APBПосмотреть сообщение
Зачем надо было Флудить в теме
Сори За флуд

  Ответить с цитированием
Старый 10.10.2021, 11:14   #5
 Разведчик
Аватар для IanMarkov
 
IanMarkov никому не известный тип
Регистрация: 15.08.2020
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Шифрование пароля

Мне это не о чем не говорит информации у же много перелопатил.
Пробовал разные методы, но постоянно сохраняет в формате $2y$10$.
  Ответить с цитированием
Старый 10.10.2021, 18:59   #6
 Разведчик
Аватар для Terror1st
 
Terror1st скоро будет известенTerror1st скоро будет известенTerror1st скоро будет известенTerror1st скоро будет известенTerror1st скоро будет известен
Регистрация: 08.08.2010
Сообщений: 23
Популярность: 459
Сказал(а) спасибо: 23
Поблагодарили 16 раз(а) в 10 сообщениях
 
По умолчанию Re: Шифрование пароля

Цитата:
Мне это не о чем не говорит

Покопался немного в инете: [Ссылки могут видеть только зарегистрированные пользователи. ]

Цитата:
The version $2b$ is not "better" or "stronger" than $2a$. It is a remnant of one particular buggy implementation of BCrypt. But since BCrypt canonically belongs to OpenBSD, they get to change the version marker to whatever they want.

There is no difference between 2a, 2x, 2y, and 2b. If you wrote your implementation correctly, they all output the same result.

And if you were doing the right thing from the beginning (storing strings in utf8 and also hashing the null terminator) then: there is no difference between 2, 2a, 2x, 2y, and 2b. If you wrote your implementation correctly, they all output the same result.

The only people who need to care about 2x and 2y are those you may have been using crypt_blowfish. And the only people who need to care about 2b are those who may have been running OpenBSD.

All other correct implementations are identical and correct.

________________
Цитата:
Сообщение от PB+GTA4=APBПосмотреть сообщение
Зачем надо было Флудить в теме
Сори За флуд

  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непомню ни пароля банкира ни ответ на подсказку ANTIHRIST666 Архив уязвимостей 2 01.09.2008 23:17
[Soft] Хак логина и пароля инета ka4ok Треп 8 29.05.2008 20:33

www.webmoney.ru
Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 00:00.

Пишите нам: forum@zhyk.ru
Copyright © 2021 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net