
18.10.2018, 18:25
|
|
Участник форума
Регистрация: 17.10.2018
Сообщений: 285
С нами:
3985921
Репутация:
0
|
|
Доброго вечера.
Решил попробовать написать простенькую форму регистрации для сервера л2, ничего такого просто чтоб в локалке висела,
вроде бы все работает в базу логин пароль мыло заносит, но с клиента не авторизуется, ибо предполагаю что метод шифрования отличается, и никак не получается подружить все это дело, помогите найти выход из положения, хотябы пример или что я не так делаю.
Регистрация осуществляется при помощи библиотеки RedBeanPHP.
Вот кусок который сохраняет пароль в БД:
Код:
Код:
$accounts->password = password_hash($data['password'], PASSWORD_DEFAULT);
Но понимаю что нужно не так, а как то так (нашел вариант в гугле):
Код:
Код:
$accounts->password = base64_encode(pack("H*", sha1(utf8_encode($password))));
Но голова уже пухнет. Не программист только учусь. Не судите строго.
lead nitrate molar mass
|
|
|

18.10.2018, 18:36
|
|
Участник форума
Регистрация: 20.01.2015
Сообщений: 283
С нами:
5952687
Репутация:
275
|
|
$accounts->password = password_hash($data['password'], PASSWORD_DEFAULT);
->
$accounts->password = base64_encode(pack("H*", sha1(utf8_encode($data['password']))));
попробуйте
|
|
|

18.10.2018, 18:42
|
|
Участник форума
Регистрация: 17.10.2018
Сообщений: 285
С нами:
3985921
Репутация:
0
|
|
Огромнейщее вам СПАСИБО!
|
|
|

20.10.2018, 14:57
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
С нами:
8772079
Репутация:
8
|
|
Сообщение от [MSN]-MADCAT
password_hash
Уже давно деприкейтед
Сообщение от [MSN]-MADCAT
метод шифрования отличается
Шифрование это преобразование информация таким образом чтоб её можно было преобразовать из шифртекста в исходный.
Это хеширование, а не шифрование.
Примерно твоя функция должна выглядить как-то так...
PHP:
Код:
function
hashPass
(
$alg
=
'sha1'
,
$pass
=
null
)
{
return
base64_encode
(
hash
(
$alg
,
$pass
,
true
)
)
;
}
|
|
|

28.10.2018, 00:33
|
|
Участник форума
Регистрация: 17.10.2018
Сообщений: 285
С нами:
3985921
Репутация:
0
|
|
Благодарю но есть вопросы:
Сообщение от Logan22
Уже давно деприкейтед
Шифрование это преобразование информация таким образом чтоб её можно было преобразовать из шифртекста в исходный.
Это хеширование, а не шифрование.
Примерно твоя функция должна выглядить как-то так...
PHP:
Код:
function
hashPass
(
$alg
=
'sha1'
,
$pass
=
null
)
{
return
base64_encode
(
hash
(
$alg
,
$pass
,
true
)
)
;
}
Код:
Код:
function hashPass($alg = 'sha1', $pass = null) {
return base64_encode(hash($alg, $pass, true));
}
else function hashPass($alg = 'sha1', $pass = null) {
return base64_encode(md5($alg, $pass, true));
}
else {
function hashPass($alg = 'md5', $pass = null) {
return base64_encode(hash($alg, $pass, true));
}
if {
не совпало то гуляй вася
}
....etc
Зачем RETURN to SOURCE?
Если вы понимаете о чем я.
Проиграл так проиграл никто ненесет ответственности по большому счету.
Все хорошо забытое старое есть новое!
|
|
|

29.10.2018, 23:41
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
С нами:
8772079
Репутация:
8
|
|
Сообщение от [MSN]-MADCAT
....etc
Зачем RETURN to SOURCE?
Если вы понимаете о чем я.
Return чтоб вернуть хэш самого пароля, ибо чтоб не писать множество раз этот же код в тех методах где идет регистрация юзера, либо сброс пароля и т.д.
Но я не понял о чем речь из-за непонятно написанного кода, но может ты хотел как-то так написать...
PHP:
Код:
function
hashPass
(
$alg
,
$pass
=
null
)
{
switch
(
$alg
)
{
case
'sha1'
:
return
base64_encode
(
hash
(
$alg
,
$pass
,
true
)
)
;
break
;
case
'whirlpool'
:
return
base64_encode
(
hash
(
$alg
,
$pass
,
true
)
)
;
break
;
case
'md5'
:
return
base64_encode
(
hash
(
$alg
,
$pass
,
true
)
)
;
break
;
case
'sha512'
:
return
base64_encode
(
hash
(
$alg
,
$pass
,
true
)
)
;
break
;
default
:
echo
'не совпало то гуляй вася'
;
break
;
}
}
|
|
|

16.01.2019, 20:10
|
|
Новичок
Регистрация: 16.01.2019
Сообщений: 4
С нами:
3855445
Репутация:
0
|
|
Сообщение от Logan22
Уже давно деприкейтед
Детальнее можно? xD
|
|
|

27.10.2018, 19:30
|
|
Участник форума
Регистрация: 17.10.2018
Сообщений: 285
С нами:
3985921
Репутация:
0
|
|
Моя задача стояла намного проще и то , для ее реализации было внесено 1 единственное изменение с труктуру таблицы, и при всем при етом хоть и длинна хеша теперь не 88 символов как тот же самый вирпул, а всего лиш к примеру 16 символов , при условии разности длинны и сложности создоваемого пароля, его не один брут не смог ломать\подобрать спустя даже 24 часа, Пароль был всего навсего Цыфра 1.
А смысл в хешировании если хеш можно подобрать сломать угадать? Безопасность должна быть безопасной!
Ингда хочется с умничать и написать:
Лучше всего этот пример описан в книге «Прикладная криптография» Брюса Шнайера. Про теорию о энергии для рашифровки 256 битного ключа. Кто читал тот поймет не буду усложнять и приводить цитат.
|
|
|

27.10.2018, 19:50
|
|
Участник форума
Регистрация: 17.10.2018
Сообщений: 285
С нами:
3985921
Репутация:
0
|
|
В продолжении темы:
Вот хеш очень ппростой
jTsYZJrNDCQr9lIj3MMA5Wcbczo=
Даш ответ я отдат вам обвязку.
Сообщение от Спойлер
Скрин регистрации


|
|
|

27.10.2018, 22:10
|
|
Участник форума
Регистрация: 20.01.2015
Сообщений: 283
С нами:
5952687
Репутация:
275
|
|
Сообщение от [MSN]-MADCAT
В продолжении темы:
Вот хеш очень ппростой
jTsYZJrNDCQr9lIj3MMA5Wcbczo=
Даш ответ я отдат вам обвязку.
Сообщение от Спойлер
Скрин регистрации


честно сказать, ваше гумно никому не нужно
вы предлагаете нам брутить ваш хеш, что бы получить кусок скрипта и кусок шаблона, мне кажется там даже адаптивностью не пахнет, что касается уровня кода не могу сказать, но хотя бы инпуты и батоны оформили красиво
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|