Найти - Пользователи
Полная версия: Sessions
Начало » Web » Sessions
1 2 3 4 5
koder
from inetSVN/Django/django/contrib/auth/models.py:
======================================================
def check_password(raw_password, enc_password):
“”“
Returns a boolean of whether the raw_password was correct. Handles
encryption formats behind the scenes.
”“”
algo, salt, hsh = enc_password.split('$')
if algo == ‘md5’:
import md5
return hsh == md5.new(salt+raw_password).hexdigest()
elif algo == ‘sha1’:
import sha
return hsh == sha.new(salt+raw_password).hexdigest()
raise ValueError, “Got unknown password algorithm type in password.”
======================================================
Т.е.
1)Поддерживаются два алгоритма MD5 и SHA1 и они могут использоватся одновременно
(для разных паролей). Правда в свете того что MD5 уже почти год как поломали реально
можно только sha1 использовать.
2)Прикручен salt - это означает что у двух одинаковых паролей хеши в базе будут разные
======================================================
niro
СТОП, я уже давно справился со своей проблемой: в базе sqlite список юзеров и паролей , чел вводит логин пасс , из базы звлекается по логину пасс (md5hash) и сверяется с введенным (переведенным в md5hash) паролем , отправляется кук с логином и паролем , и все , чел заходит на спец пагу , у него сразу берутся куки и сверяются , если все ок , то выполняется пага , если нет , то нет …
Вот вопрос , как перенаправлять на определеный адрес (в пыхпых это было типа location()) , а тут как ?

P.s. заметил , что если я задаю вопрос , то пораждаю всяки флейм :)
slav0nic
koder
sha1 поломали ещё раньше))
зы: мд5 здесь с салтом;) его не поломаешь ни радужными табличками ни брутом (если пароль хотя бы 7-8 символов), они очень медленно брутятся
niro
в свое время пытался брутать пассы , заметил , если пароль больше 6 символов и состоит из бук в цифр , то брут займет очень долгое время
slivlen
niro
Вот вопрос , как перенаправлять на определеный адрес (в пыхпых это было типа location()) , а тут как ?
http://python.com.ua/forum/viewtopic.php?id=54
koder
niro
Вот вопрос , как перенаправлять на определеный адрес
Если из чистого питона то формируй ответ 302(FOUND) или 307(TEMPORARY_REDIRECT).
=================================
HTTP/1.0 302
Location: http://kuda.tam.perenapravit/
bla-bla-bla
=================================
Глянь в доке питона 18.7 httplib – HTTP protocol client, там есть и ссылка на раздел соотв. RFC.
И еще - я бы на твоем месте md5 не использовал, он конечно улучшает ситуацию но sha использовать
точно так-же а толку больше.
slav0nic
зы: мд5 здесь с салтом;) его не поломаешь ни радужными табличками ни брутом (если пароль хотя бы 7-8 символов), они очень медленно брутятся
niro
в свое время пытался брутать пассы , заметил , если пароль больше 6 символов и состоит из бук в цифр , то брут займет очень долгое время
Никто про брут не говорит(и про rainbow tables тоже) - для md5 есть реверсирующий алгоритм (очень быстро находит текст, дающий необходимый md5) и salt тут не поможет - просто он задается алгоритму в качестве стартового значения и никак не влияет на сложность взлома.
http://passcrack.spb.ru/
http://www.linux.org.ru/view-message.jsp?msgid=1158328
http://www.linux.org.ru/view-message.jsp?msgid=1087394
http://ru.wikipedia.org/wiki/MD5 - желающим отсюда ковырять.
Для SHA1 нашли только способ снижения сложности с 128 эффективных бит до 80, но даже 80 бит
для брута - нереально. В python2.5 есть sha512 - рекомендую ;). И пусть брутеры подавятся :) !
koder
koder
Для SHA1 нашли только способ снижения сложности с 128 эффективных бит до 80
Тут я абшибсо, точнее недоследил :(. sha1 уже тоже почил с миром R.I.P. .
Но в качестве вар. можно sha1(или md5) снимать несколько раз, или pyCrypto воспользоватся.
pythonwin
pythonwin
в стандартном алгоритме идентификации (который описан на оф. чайте) никакого шифрования нет, хотя должен быть способ как дописать алгоритм, чтобы в БД хранился шифрованный пароль, а не открытый, как в стандартном.
Возможно уже есть такой код, но к сожелению пока я о нем я не знаю.
pythonwin
пароль действительно храниться в БД ОТКРЫТЫМ, но через инет пользователям отправляется/принимается “ключ” и “код” сессии, с самим же паролем работает только сервер.
Ура, я был не прав!

koder
Если в таблице хранится открытым текстом пароль то это очень паршиво, независимо от того
передается он по сети или нет. Это означает что админ может его без проблем подсмотреть
(чужой а не только свой). А многие люди(например я) используют один пароль во многих местах
(не везде конечно, но во многих), ну в общем на эту тему уже написанно неимоверно много(“да только все невпрок” текст (с)Крылов). И в случае SQL-injection(или другого взлома ) все закончится не дефейсом а куда более плачевно. Интересно что они(разарботчики TG) по этому поводу говорят.
koder
последний пост как раз об этом но что-то писаки молчат.
Identification in TG. Work with encipher the password.
slav0nic
koder
а ещё салт увеличивает число комбинаций для 1 пароля.., тот сайт что ты дал с сальтом не работает, коллизии эьто хорошо

поиск коллизий круто, но оно позволяет найти 2 сообщения с одинаковыми хэшам, а не сломать хэш;) так что спите спокойно=)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB