Рубрики
Без рубрики

Python One-Line Password Generator

Ты можешь в это поверить? Люди используют неизвестные и потенциально небезопасные сайты для создания своих случайных паролей! Это работает следующим образом: веб-сайт генерирует для них «случайный» пароль, и они копируют и вставляют его и предполагают, что это безопасный пароль из-за случайности символов. Какой недостаток безопасности! Почему? Потому что сайт может … Python One-Line Password Generator Подробнее »

Автор оригинала: Chris.

Ты можешь в это поверить? Люди используют неизвестные и потенциально небезопасные сайты Создать свои случайные пароли!

Это работает следующим образом: веб-сайт генерирует для них «случайный» пароль, и они копируют и вставляют его и предполагают, что это безопасный пароль из-за случайности символов. Какой недостаток безопасности! Почему? Поскольку веб-сайт может хранить пароль вместо того, чтобы забыть его – или пароль может быть доступен на третьей стороне ( «Человек-в-средней атаке» ) между вами и паролем, генерирующим веб-сервером!

Эта статья показывает, как кодировать свой собственный однострочный генератор паролей 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.