Ты можешь в это поверить? Люди используют неизвестные и потенциально небезопасные сайты Создать свои случайные пароли!
Это работает следующим образом: веб-сайт генерирует для них «случайный» пароль, и они копируют и вставляют его и предполагают, что это безопасный пароль из-за случайности символов. Какой недостаток безопасности! Почему? Поскольку веб-сайт может хранить пароль вместо того, чтобы забыть его – или пароль может быть доступен на третьей стороне ( «Человек-в-средней атаке» ) между вами и паролем, генерирующим веб-сервером!
Эта статья показывает, как кодировать свой собственный однострочный генератор паролей Python, который надежно генерирует случайные последовательности на вашем компьютере. Это безопасный, надежный способ создания ваших безопасных паролей в Одно строка кода Python Отказ
Итак, давайте начнем!
Проблема : Генерировать случайные пароли размера N в одной строке кода Python.
Пример : Вы можете захотеть создать пароль длиной 10 символов.
99b^cqho^w
Вызов генератора пароля в другой раз может вернуть следующее:
wn+5u1ts0l
Каждый последующий вызов возвращает случайную последовательность 10 символов. Таким образом, вы можете создавать случайные пароли, которые трудно догадаться! И вам не нужно доверять веб-генератору пароля (который может хранить ваши сгенерированные пароли).
Метод 1: Выбор функции из случайного модуля
from random import choice; print(''.join([choice('abcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)') for i in range(10)]))Код состоит из следующих частей:
- Вы импортируете
Выбор ()Функция из Случайные Модуль для доступа к случайным элементе из последовательности. - Вы проходите строку
'abcdefghijklmnopqrstuvwxyz0123456789% ^ * (-_ = +)'в него, чтобы получить случайный характер (включая некоторые специальные символы). - Вы запускаете это Рейтина выбора символов
n = 10раз в Понимание списка Заявление для генерации 10 случайных символов. - Вы Присоединяйтесь к вместе
n = 10символы в созданном списке для создания строки с 10 символами. - Вы Печать результат в оболочку.
Вот это – ваш недавно созданный пароль!
Примечание : Как альтернатива, вы также можете назвать это одноклассник из вашей операционной системы, используя -c Флаг Python команда:
$ python -c "from random import choice; print(''.join([choice('abcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)') for i in range(10)]))"Будьте: использование простой фразы может быть более безопасной! 🙂.
Вы можете знать популярный веб-код Comic XKCD. Вот одно отличное наблюдение о прочности пароля:
Вы можете измерить прочности пароля с Энтропия Отказ Вот соответствующая цитата из Википедия :
Обычно в компьютерной индустрии указать силу пароля с точки зрения Информация энтропия который измеряется в биты и это концепция от Теория информации Отказ Вместо количества догадок необходимо найти пароль с уверенностью, База-2 logarithm Из этого количества приведено, который обычно называют количеством «энтропийных битов» в пароле, хотя это не совсем одинаковое количество, что и информация о предоставлении информации. Пароль с энтропией 42 битов, рассчитанного таким способом таким же сильным, как строка из 42 битов, выбранных случайным образом, например, честная монета жеребьевка. Поместите другой способ, пароль с энтропией 42 бита потребуется 2 42 (4 398 046 511,104) пытается исчерпать все возможности во время Поиск грубой силы Отказ Таким образом, путем увеличения энтропии пароля на один бит число догадок требуется удваивает, делая задачу злоумышленника в два раза больше. В среднем злоумышленник должен будет попробовать половину возможного количества паролей, прежде чем найти правильный.
Способ 2: Случайное растин
Аналогичный, но немного другой одноклассник – это следующее:
import random as r; c = 'abcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)'; print(''.join([c[r.randint(0,len(c)-1)] for i in range(10)]))
Идея похожа, но с одним разницей: вы используете индексацию со случайным индексом в строке символов C найти один случайный характер. Остальные в значительной степени одинаковы.
Python One-Liners Книга
Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.
Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.
Пять главных глав на пять глав обложки советы и трюки, регулярные выражения, машинное обучение, самые темы науки о данных и полезные алгоритмы. Подробные объяснения одноклассников вводят ключевые концепции компьютерных наук и повысить ваши кодировки и аналитические навыки. Вы узнаете о продвинутых функциях Python, такие как понимание списка, нарезки, нарезки, функции лямбда, регулярные выражения, карта и уменьшения функций и нарезки нарезки. Вы также узнаете, как:
• Используйте структуры данных для решения реальных проблем, такие как использование булевой индексации для поиска городов с загрязнением выше среднего • Используйте Numpy Basics, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика • Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения • Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы • Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку
К концу книги вы узнаете, как писать Python в его самых утонченных, и создавать краткие, красивые куски «Python Art» в простой строке.
Получите свой Python One-Liners сейчас !!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.