Pull to refresh

Comments 20

Многострочные комментарии — """
И можно добавить поддержку кириллических доменов
Ну, на сколько я знаю, в Python нет многострочных комментариев, а """ это строка из нескольких строчек, но многие её используют для многострочных комментариев. Просто мой Vim комментарии подсвечивает одним цветом, а строки другим, поэтому я не пользуюсь этим методом.
Господа минусующие, объясните, пожалуйста, в чем я не прав.
Пускай меня и не спрашивали, однако подсветка подсветке…; Ъ
«И контрольный в голову»
>>> """ Hello
... , h a u?
... """
' Hello\n, h a u?\n'
Двойной опс. Почему то подумал что вы утверждали что """ — это комментарий.
Наверное пора спать.

В общем вот так мне кажется оно должно выглядеть на GitHub'e
Лучше использовать «новые» классы:
class PassKeep(object):
    ...
Интересно. Очень схожий функционал. Там нельзя контролировать длину пароля, за то у меня все символы только в нижнем регистре. А алгоритм очень схож вот.
Длина получившегося пароля зависит от длины исходного пароля. Что с точки зрения криптографии правильнее.
с точки зрения практики это неправильно: есть сайты которые ограничивают длину пароля например 15 символами.
Есть два решения: правильное и компромиссное. Правильное — не ходить на такие сайты (а зачем они ограничивают длину пароля значением, меньшим 128? Они что, хранят пароль в базе? Не думаю, что им сложно посчитать хэш от 128 символов.). Компромиссное — использовать на таких сайтах исходный пароль меньшей длины. Исходный меньшей длины — значит и результат меньшей длины (плюс-минус константа). Речь идёт о PwdHash, конечно, мы же его обсуждаем?
ну «правильный» вариант подходит для фанатиков, не для обычных пользователей. кстати вопрос: сайты с какой длиной пароля не посещать? для IBM ID например 32 символа ограничение, туда ходить или нет?

компромиссный вариант я бы поправил: «исходный» оставить той же длины, а обрезать пароль сгенерированый PwdHash. тогда во-первых не придется менять исходный пароль (иначе вся задумка «помнить один пароль» не имеет смысла), а во-вторых, не нужно будет подбирать длину исходного пароля. но тогда обрезание пароля гораздо правильнее встроить в генератор, чем заставлять пользователя делать лишние телодвижения.
Далее получаем md5-сумму этой строки и берем первые 10 символов — это и будет наш пароль.
MD5-хэш — это строка шестнадцатиричных цифр. Стойкость полученного пароля будет всего 40 бит (по 4 бита на символ).
Наверно последние 8 строчек лучше поместить в:

if __name__ == "__main__":
    ...

Честно говоря ООП здесь не очень к месту. В функциональном стиле код был бы элегантнее и надежнее. Более того ваш код с точки зрения ООП не вполне корректен: если вы уж и решили использовать состояние, то нужно его и отслеживать в методе decrypt, а именно проверять, что все свойства объекта были установлены.
Only those users with full accounts are able to leave comments. Log in, please.