Size: a a a

Node.js — русскоговорящее сообщество

2019 October 29

A

Archakov 🌚 in Node.js — русскоговорящее сообщество
Вроде нашёл решение - https://stackoverflow.com/a/51001564
источник

RK

Roman Karas' in Node.js — русскоговорящее сообщество
Народ, а кто подскажет, в JWT-токене обязательно/желательно ли в payload-e передавать username? Или достаточно будет userId, iat и exp?
источник

z

zeQa in Node.js — русскоговорящее сообщество
Roman Karas'
Так вот прикол в том, что даже если и взломали, то у всех разная соль, и для каждой записи нужно свою радужную генерить, а это накладно
до меня только что дошло (надеюсь что правильно), то что в бд будет лежать:
соль + хэш(соль+пароль)
, до этого у меня было представление что это лежит в бд так :
соль + хэш(пароль)


Вообщем спасибо большое за помощь🤝
источник

И

Илья | 😶 in Node.js — русскоговорящее сообщество
Roman Karas'
Народ, а кто подскажет, в JWT-токене обязательно/желательно ли в payload-e передавать username? Или достаточно будет userId, iat и exp?
что угодно
но по спефикации вроде как sub поле для этого отведено
источник

RK

Roman Karas' in Node.js — русскоговорящее сообщество
zeQa
до меня только что дошло (надеюсь что правильно), то что в бд будет лежать:
соль + хэш(соль+пароль)
, до этого у меня было представление что это лежит в бд так :
соль + хэш(пароль)


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

RK

Roman Karas' in Node.js — русскоговорящее сообщество
Илья | 😶
что угодно
но по спефикации вроде как sub поле для этого отведено
ну в sub у меня айдишник юзера и лежит
источник

A

Artur in Node.js — русскоговорящее сообщество
zeQa
до меня только что дошло (надеюсь что правильно), то что в бд будет лежать:
соль + хэш(соль+пароль)
, до этого у меня было представление что это лежит в бд так :
соль + хэш(пароль)


Вообщем спасибо большое за помощь🤝
в случае bcrypt будет лежать только хэш(соль+пароль)
источник

И

Илья | 😶 in Node.js — русскоговорящее сообщество
Roman Karas'
ну в sub у меня айдишник юзера и лежит
этого вполне достаточно для идентификации
источник

z

zeQa in Node.js — русскоговорящее сообщество
Artur
в случае bcrypt будет лежать только хэш(соль+пароль)
да кстати, это круто.
Но теперь вопрос, как он сравнивает хэш, если у него нету той соли при которой он хэшировал?😑
источник

RK

Roman Karas' in Node.js — русскоговорящее сообщество
Artur
в случае bcrypt будет лежать только хэш(соль+пароль)
я с bcrypt не сталкивался, к сожалению пока, но у каждого же пользователя предполагается разная соль, где её тогда хранить, как не в базе? или там как-то по другому это устроено?
источник

RK

Roman Karas' in Node.js — русскоговорящее сообщество
zeQa
да кстати, это круто.
Но теперь вопрос, как он сравнивает хэш, если у него нету той соли при которой он хэшировал?😑
вот вот, и я про это
источник

z

zeQa in Node.js — русскоговорящее сообщество
Roman Karas'
я с bcrypt не сталкивался, к сожалению пока, но у каждого же пользователя предполагается разная соль, где её тогда хранить, как не в базе? или там как-то по другому это устроено?
там ее вообще хранить нигде не надо, он хэширует с солью, а конда сравниваешь достаточно только пароля
источник

RK

Roman Karas' in Node.js — русскоговорящее сообщество
Илья | 😶
этого вполне достаточно для идентификации
Спасибо Илья! Понял и уже выпилил пользователя )
источник

RK

Roman Karas' in Node.js — русскоговорящее сообщество
zeQa
там ее вообще хранить нигде не надо, он хэширует с солью, а конда сравниваешь достаточно только пароля
блин, ну чудес же не бывает, если у каждого разная соль, где бкрипт её берёт, чёт не врублюсь.. нада погуглить в яндексе ))
источник

A

Artur in Node.js — русскоговорящее сообщество
я вас запутал -
источник

z

zeQa in Node.js — русскоговорящее сообщество
Roman Karas'
блин, ну чудес же не бывает, если у каждого разная соль, где бкрипт её берёт, чёт не врублюсь.. нада погуглить в яндексе ))
источник

A

Artur in Node.js — русскоговорящее сообщество
bcrypt по дефолту хранит данные в формате 'соль''хеш'
то есть как правило первые несколько бит это соль
источник

RK

Roman Karas' in Node.js — русскоговорящее сообщество
ах вон оно как.. )
источник

A

Artur in Node.js — русскоговорящее сообщество
то есть метод compare
берет введенный пароль, берет первые 16 бит из записи в базе, солит и сверяет с оставшимися битами(хешем)
источник

A

Artur in Node.js — русскоговорящее сообщество
да
источник