Форум сайта python.su
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 - это означает что у двух одинаковых паролей хеши в базе будут разные
======================================================
Отредактировано (Окт. 25, 2006 10:45:32)
Офлайн
СТОП, я уже давно справился со своей проблемой: в базе sqlite список юзеров и паролей , чел вводит логин пасс , из базы звлекается по логину пасс (md5hash) и сверяется с введенным (переведенным в md5hash) паролем , отправляется кук с логином и паролем , и все , чел заходит на спец пагу , у него сразу берутся куки и сверяются , если все ок , то выполняется пага , если нет , то нет …
Вот вопрос , как перенаправлять на определеный адрес (в пыхпых это было типа location()) , а тут как ?
P.s. заметил , что если я задаю вопрос , то пораждаю всяки флейм :)
Отредактировано (Окт. 25, 2006 14:25:47)
Офлайн
koder
sha1 поломали ещё раньше))
зы: мд5 здесь с салтом;) его не поломаешь ни радужными табличками ни брутом (если пароль хотя бы 7-8 символов), они очень медленно брутятся
Офлайн
в свое время пытался брутать пассы , заметил , если пароль больше 6 символов и состоит из бук в цифр , то брут займет очень долгое время
Отредактировано (Окт. 25, 2006 14:27:21)
Офлайн
nirohttp://python.com.ua/forum/viewtopic.php?id=54
Вот вопрос , как перенаправлять на определеный адрес (в пыхпых это было типа location()) , а тут как ?
Офлайн
niroЕсли из чистого питона то формируй ответ 302(FOUND) или 307(TEMPORARY_REDIRECT).
Вот вопрос , как перенаправлять на определеный адрес
slav0nic
зы: мд5 здесь с салтом;) его не поломаешь ни радужными табличками ни брутом (если пароль хотя бы 7-8 символов), они очень медленно брутятся
niroНикто про брут не говорит(и про rainbow tables тоже) - для md5 есть реверсирующий алгоритм (очень быстро находит текст, дающий необходимый md5) и salt тут не поможет - просто он задается алгоритму в качестве стартового значения и никак не влияет на сложность взлома.
в свое время пытался брутать пассы , заметил , если пароль больше 6 символов и состоит из бук в цифр , то брут займет очень долгое время
Отредактировано (Окт. 25, 2006 16:06:23)
Офлайн
koderТут я абшибсо, точнее недоследил :(. sha1 уже тоже почил с миром R.I.P. .
Для SHA1 нашли только способ снижения сложности с 128 эффективных бит до 80
Отредактировано (Окт. 25, 2006 15:58:43)
Офлайн
pythonwin
в стандартном алгоритме идентификации (который описан на оф. чайте) никакого шифрования нет, хотя должен быть способ как дописать алгоритм, чтобы в БД хранился шифрованный пароль, а не открытый, как в стандартном.
Возможно уже есть такой код, но к сожелению пока я о нем я не знаю.
pythonwinУра, я был не прав!
пароль действительно храниться в БД ОТКРЫТЫМ, но через инет пользователям отправляется/принимается “ключ” и “код” сессии, с самим же паролем работает только сервер.
koder
Если в таблице хранится открытым текстом пароль то это очень паршиво, независимо от того
передается он по сети или нет. Это означает что админ может его без проблем подсмотреть
(чужой а не только свой). А многие люди(например я) используют один пароль во многих местах
(не везде конечно, но во многих), ну в общем на эту тему уже написанно неимоверно много(“да только все невпрок” текст (с)Крылов). И в случае SQL-injection(или другого взлома ) все закончится не дефейсом а куда более плачевно. Интересно что они(разарботчики TG) по этому поводу говорят.
koderIdentification in TG. Work with encipher the password.
последний пост как раз об этом но что-то писаки молчат.
Офлайн
koder
а ещё салт увеличивает число комбинаций для 1 пароля.., тот сайт что ты дал с сальтом не работает, коллизии эьто хорошо
поиск коллизий круто, но оно позволяет найти 2 сообщения с одинаковыми хэшам, а не сломать хэш;) так что спите спокойно=)
Офлайн