Перейти к содержанию
Авторизация  
Серый_Ветер

Поле Password В Бд Sql, Испольование, Сравнение Пароля...

Рекомендуемые сообщения

регистрация такая:

$query = "INSERT INTO `".$userstable."` (`login` ,`password`) VALUES ('".$log."', '".base64_encode(pack('H*', sha1($ps)))."');";

если в игру не заходить, то можно использовать этот пароль... он не меняется.

 

но как только заходишь в игру к этой записи добавляется еще 40(примерно) знаков...

 

причем не просто добавляется в конец строки, а строка меняется полностью, удлиняясь при этом на 40 знаков.

 

какой метод используется при проверке сравнения полей пароля, уже в последующие разы после первого захода?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кодировка SHA-1(Base64)

а что за игра?

Изменено пользователем invoker123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кхе, таже линейка...

просто самописная регалка простейшая, вот прикручиваю что то вроде "личной статистики" ибо на другое пока не лежит ничего.

 

кодировка SHA-1(Base64)

я знаю что там используется...

но это только для первого раза, после того как вошел в игру, строка в поле password изменилась с 53 до 89 символов.

и вот как эти 89 сравнивать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

возможно соль добавляется... она в конфигах указана

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если на Вашем логине основной метод криптографии указан другой, то при первой авторизации в игре с использованием поддерживаемых функций криптографии хеша, текущий хеш будет переконвертирован в указанный по умолчанию.

 

# Актуальное шифрование, рекомендуется Whirlpool
DefaultPasswordEncoding = Whirlpool
# Поддерживаемые устаревшие методы, есть DES (офф) и SHA1 (l2j)
LegacyPasswordEncoding = SHA1;DES

Изменено пользователем jloopchief

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с сервера:

# Р^AР.С^A Р^AР^AС^A Р^AР.С^AР^AР^AР^AР^A
# Р^AР^AС^AС^AР.Р^AС^AР^AР^AР^A С^AР^AС^AРёС^AР^AР^AР.Р^AРёР^A, С^AР^AР^AР^AР^AР^AР^AР^AС^AР^AС^AС^AС^A whirlpool2
PasswordHash = whirlpool2
# Р^AР^AР^AР^AР^AС^AР^AРёР^AР.Р^AР^AС^AР^A С^AС^AС^AР.С^AР^AР^AС^AРёР^A Р^AР^AС^AР^AР^AС^A, Р^AР.Р^AС^AРёР^AР^AС^A sha1 (l2jserver)
LegacyPasswordHash = sha1

 

то есть.

сначала мы кодируем поле "password" в base64_encode(pack('H*', sha1($ps)))

а затем уже захешированную еще раз кодируем в sha-1 ?

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

перерыл часть исходников на сайте:

везде одно и тоже при регистрации:

1. $hash_ppass = base64_encode(pack('H*', sha1('$pass'))); - аналогично у меня стоит.

2. $password=base64_encode(pack("H*", sha1(utf8_encode($_POST['pass1'])))); - тут разница в хеше в один символ по длине.... и все :(

 

но после захода в игру он меняется, дабавляя/перекодируя/прочее...

 

хм.. в исходах от Личный кабинет от l2-scripts [Java][Шара]

 

вообще тоже самое:

<------><------><------><------>#Проверяем пароль^M
<------><------><------><------>$mysql=mysql_fetch_array($mysql);^M
<------><------><------><------>#Кодируем текущий пароль^M
<------><------><------><------>$pass_new=base64_encode(pack("H*", sha1(utf8_encode($pass))));^M
<------><------><------><------>#Сверяем^M
<------><------><------><------>if($pass_new==$mysql["password"])^M

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...