Як ви можете знати, хакери є скрізь, і вони хочуть зламати все. Вас попросили ввести паролі, які зупинять будь-якого хакера . Проблема полягає в тому, що ваш начальник чув, що платити за LOC - це зло, і він платить вам $ 1800 - $ 0,03 * символи, що вставляються в місяць, щоб ви написали найпростішу річ, яка, можливо, могла б працювати. Отже, вам доведеться використовувати малу кількість символів (сподіваємось, дуже мало), інакше забути про готівку. Крім того, вашому начальнику все одно, якою мовою ви будете користуватися.
Вимоги до хороших паролів аналогічні вимогам у згаданій статті, за винятком вимог на основі словника, щоб уникнути того, щоб рішення залежало від зовнішніх файлів, вам не потрібно перевіряти, чи переставляють літери (важко зрозуміти, що це насправді означає), останнє правило видаляється (Що таке 3/4?), і воно не перевіряє старі паролі.
Точні вимоги після видалення певних вимог із пов'язаної статті:
- мати принаймні 8 символів!
- не більше 12 символів!
- мати великі та малі символи!
- не більше 8 великих літер!
- мати не більше 8 малих літер!
- мати хоча б 2 букви!
- мати ведучий лист!
- мають принаймні 1 цифру!
- не бути вашим ім'ям користувача!
- не бути вашим ім'ям користувача назад!
- не містить вашого імені користувача!
- не містять вашого імені користувача назад!
- не більше 1 пари повторюваних символів!
- не мають 3 входжень одного і того ж персонажа!
- не містять карат (^)
- не містять місця
- не містять =
- не конатен &
- не містить #
- не містити,
- не конатен ;
- не містити "
- не містять>
- не містять <
- не містити [
- не містять |
- не містити)
Усі неправильні написання в цьому списку залишилися як є.
$ ./checkpass
Username: John
Password: L!]E2m69
OK.
$ ./checkpass
Username: John
Password: JohnnhoJ12
Nope.
$ ./checkpass
Username: JOE.smith
Password: JOE!smith123
OK.
Найкоротший код виграє гроші (надсилається у форматі JPG). Він повинен відображати "Ім'я користувача:" та "Пароль:", підказуючи та відповідати точним повідомленням.
1(цифра одна) замість ell.