рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд▓рдЧрднрдЧ рд╣рд░ рд░реВрдк рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреНрд░реЗрдВрде рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдЖрдП рд╣реИрдВред рдЖрдЬ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХрдорд╛рддреНрд░ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЗ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ? рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдпрд╣ рдкрд╣рд▓реВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рдмрдврд╝рддреА рд╡рд┐рд▓рдВрдмрддрд╛ рдпрд╛ рдХреИрдкреНрдЪрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреА рд╣реИрдХрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдирд╛;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрддрд░ рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд "рдирдордХ" рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рдлреА рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдлрд╝рд▓рд╛рдЗрди рд╣реИрдХрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдирд╛;
- рдкрд╛рд╕рд╡рд░реНрдб рд╣реИрд╢ рд╕рдВрд░рдХреНрд╖рдгред
рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░рдХреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рд╛рдБ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
рдмрд╣реБрдд рдЖрд╢рд╛рдЬрдирдХ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред 2006 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЙрдирдХреА рдкреБрд╕реНрддрдХ рдореЗрдВ,
"рдкрд░рдлреЗрдХреНрдЯ рдкрд╛рд╕рд╡рд░реНрдб: рд╕рд┐рд▓реЗрдХреНрд╢рди, рдкреНрд░реЛрдЯреЗрдХреНрд╢рди, рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди" рд╢реАрд░реНрд╖рдХ рд╕реЗ рдорд╛рд░реНрдХ рдмрд░реНрдиреЗрдЯ рдиреЗ рд╡рд┐рднрд┐рдиреНрди рд▓реАрдХреНрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрдЬрд╛рдЧрд░ рдХрд┐рдП рдЧрдП рдХрдИ рдорд┐рд▓рд┐рдпрди рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХреА рдбреЗрдЯрд╛ред рд╡рд╣ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рд░ рдиреМрд╡реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЗрд╕
рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдЪреБрдирд╛ред рдЙрдирдореЗрдВ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ "рдХрдард┐рди рдкрд╛рдЧрд▓" рд╣реИрдВ: рдкрд╛рд╕рд╡рд░реНрдб 1, рдХреЙрдореНрдкреИрдХ, 7777777, рдорд░реНрд▓рд┐рди рдФрд░ рдЧреБрд▓рд╛рдмред рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓, рдмрд░реНрдиреЗрдЯ рдиреЗ рдПрдХ
рдирдпрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ , рдЬрд┐рд╕рдореЗрдВ 6 рдорд┐рд▓рд┐рдпрди рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЬрд╛рдВрдЪ рдХреА рдЧрдИ, рдФрд░ рдЗрд╕ рдмрд╛рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ 99.8% 10,000 рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣реИрдВ, рдФрд░ 91% 1000 рд╕рдмрд╕реЗ рдЖрдо рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣реИрдВред рдмреЗрд╢рдХ, рдкрд░рд┐рдгрд╛рдо рдХрд╛рдлреА рд╣рдж рддрдХ
рдЕрдиреБрд╕рдВрдзрд╛рди рдкрджреНрдзрддрд┐ рдФрд░ рдирдореВрдирд╛ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдерд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪреВрдВрдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд░реИрдХ рдХрд┐рдП рдЧрдП рд╣реИрд╢ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рдкреВрд░реА рд╕реВрдЪреА рд╢реБрд░реВ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреНрд░реИрдХ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдкрдХреНрд╖рдкрд╛рддреА рдереАред
рдХреЗрд╡рд▓ рдЖрд╕рд╛рди-рд╕реЗ-рдЕрдиреБрдорд╛рдирд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдпрд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдмрд╛рдХреА рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рддрд┐рд╢рдд рдЕрднреА рднреА рдХрд╛рдлреА рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╣рдорд▓реЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рджрд░рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдРрд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдЪреБрдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлрд┐рд▓рд╣рд╛рд▓, рд╡реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдиреБрдХрд╕рд╛рди (рдХрдИ рдмрдВрдж-рд╕реНрд░реЛрдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдЧрд┐рдирддреА рдирд╣реАрдВ)ред рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╡реНрдпрдХреНрдд рдПрдВрдЯреНрд░реЙрдкреА рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рддрд╛рдХрдд рдХреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдВрдЯреНрд░реЛрдкреА рдХреА рдЧрдгрдирд╛ рд╕рдВрднрд╡ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕реЗрдЯ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкрд╛рд╕рд╡рд░реНрдб рд╢рдХреНрддрд┐ рдЖрдХрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ:
рдпрд╣ рдкреНрд░рддреНрдпрдХреНрд╖ рдЪрдпрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЕрдХреНрд╖рд░реЛрдВ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдореЛрдВ рд╕реЗ рдпреБрдХреНрдд рдкрд╛рд╕рд╡рд░реНрдб рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдФрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рдЕрдкрд╡рд╛рджреЛрдВ (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП
1Password /
KeePass рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж) рдХреЗ рд╕рд╛рде, рд▓реЛрдЧ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирддреЗ рд╣реИрдВ - рд╢рдмреНрджрдХреЛрд╢ рд╢рдмреНрдж, рд╕рд░рд▓ рдХреАрдмреЛрд░реНрдб рдЕрдиреБрдХреНрд░рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП qwerty, asdf рдФрд░ zxcvbn, рджреЛрд╣рд░рд╛рддрд╛ (aaaaaaa), рдЕрдиреБрдХреНрд░рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) , abcdef рдпрд╛ 654321), рд╕рд╛рде рд╣реА рдЙрдкрд░реЛрдХреНрдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрдиред рдпрджрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рдЕрдкрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрддреНрд░ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдкрд╣рд▓рд╛ рдЕрдХреНрд╖рд░ рд╣реЛрдЧрд╛ред рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдЕрдХреНрд╕рд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╢рдмреНрджрдЬрд╛рд▓ l33t рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг (рд╕рдВрдЦреНрдпрд╛ 3 рдЕрдХреНрд╖рд░ рдИ, 0 - рдУ, @ рдпрд╛ 4 - рдП), рд╡рд░реНрд╖реЛрдВ, рддрд┐рдерд┐рдпреЛрдВ, рдкреЛрд╕реНрдЯрд▓ рдХреЛрдбреНрд╕ рдЖрджрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдкрд╛рд╕рд╡рд░реНрдб рдХреА рддрд╛рдХрдд рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рддрд░реАрдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдмрд┐рдирд╛, рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИрдХрд┐рдВрдЧ рдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдХрд░реЗрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдпрд╛рджрджрд╛рд╢реНрдд рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░реЗрдЧреАред Xkcd рдкрд░ рдХреЙрдорд┐рдХреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ:

>
рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдПрдХ рдЕрдЧрд▓реЗ рд╕реНрд░реЛрдд
"рдХреНрд░реИрдХрд░ рд╡реАрдХ" рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреНрд░реЗрдВрде рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕рд╛рдзрд╛рд░рдг рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдЧрд╛ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдХреЙрдореНрдкреНрд░реЛрдорд╛рдмреНрд░реЗрдЯреЗрд░рд┐рд╕реНрдЯреЗрдкрд▓ (рд░рд┐рдЯрд░реНрди рд╣реЙрд░реНрд╕) рдЬреИрд╕реЗ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЕрдм
dropbox.com/register рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ github рдкрд░
рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ ред рдЖрдк рд╕реНрд╡рдпрдВ
рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрдИ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, zxcvbn рдХреА рддреБрд▓рдирд╛ рдЕрдиреНрдп рдкрд╛рд╕рд╡рд░реНрдб рд╢рдХреНрддрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдХреА рдЧрдИ рд╣реИред рддреБрд▓рдирд╛ рдХрд╛ рдмрд┐рдВрджреБ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ - рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдХреА рдЕрдкрдиреА рдкрд╛рд╕рд╡рд░реНрдб рдиреАрддрд┐ рд╣реИ - рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ zxcvbn рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рджреЗрдирд╛ рд╣реИред
| qwER43@! | Tr0ub4dour&3 | correcthorsebatterystaple |
---|
рд╕рдХрддреЗ рд╣реИрдВ zxcvbn |  |  |  |
---|
рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ (рдкреБрд░рд╛рдирд╛) |  |  |  |
---|
рд╕рд┐рдЯреА рдмреИрдВрдХ |  |  |  |
---|
рдмреИрдВрдХ рдСрдл рдЕрдореЗрд░рд┐рдХрд╛ | рди рд╕рд╣рдиреЗ рдпреЛрдЧреНрдп | рди рд╕рд╣рдиреЗ рдпреЛрдЧреНрдп | рди рд╕рд╣рдиреЗ рдпреЛрдЧреНрдп |
---|
рдЪрд╣рдЪрд╣рд╛рдирд╛ |  |  |  |
---|
рдкреЗрдкреИрд▓ |  |  |  |
---|
рдИрдмреЗ |  |  | рди рд╕рд╣рдиреЗ рдпреЛрдЧреНрдп |
---|
рдлреЗрд╕рдмреБрдХ |  |  |  |
---|
рдпрд╛рд╣реВ! |  |  |  |
---|
рдЬреАрдореЗрд▓ |  |  |  |
---|
рдХреБрдЫ рдиреЛрдЯ:
- рдореИрдВрдиреЗ рдпреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ 3 рдЕрдкреНрд░реИрд▓ 2012 рдХреЛ рд▓рд┐рдпрд╛ рдерд╛ред
- Zxcvbn рддреАрдиреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкрд╛рд╕рд╡рд░реНрдб рд╕рд╣реАрд╣реЛрд░реАрд╕реЗрд░реНрдмрд┐рдЯрд┐рд╕реНрдЯреЗрдкрд▓ рдорд╛рдирддрд╛ рд╣реИред рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдпрд╛ рддреЛ рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЕрдХреНрд╖рдо рдорд╛рдирддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред (рдЯреНрд╡рд┐рдЯрд░ рдиреЗ рддреАрдиреЛрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд▓рдЧрднрдЧ рдПрдХ рд╕рдорд╛рди рд╕реБрд░рдХреНрд╖рд╛ рджреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдереЛрдбрд╝рд╛ рдЕрдВрддрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред)
- Zxcvbn рдиреЗ рдорд╛рдирд╛ qwER43 @! рдЕрдХреНрд╖рдо рдкрд╛рд╕рд╡рд░реНрдб, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб QWERTY рдХреАрдмреЛрд░реНрдб рдЕрдиреБрдХреНрд░рдо рд╣реИред рдПрдХ рдкреНрд░рддреАрдХ рдХреА рджрд┐рд╢рд╛ рдФрд░ рдмрджрд▓рд╛рд╡ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕рдХреА рдПрдВрдЯреНрд░реЛрдкреА рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
- рдкреЗрдкрд╛рд▓ рдкрд╛рд╕рд╡рд░реНрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ qwER43 @! рдЕрдкреНрд░рднрд╛рд╡реА рдкрд╛рд╕рд╡рд░реНрдб, рд▓реЗрдХрд┐рди aaAA11 !!! - рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреАрдмреЛрд░реНрдб рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред
- рдмреИрдВрдХ рдСрдл рдЕрдореЗрд░рд┐рдХрд╛ рдкрдВрдЬреАрдХрд░рдг рдлреЙрд░реНрдо рдореЗрдВ 20 рдЕрдХреНрд╖рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рд╣реАрд╣реЙрд░реНрд╕рдмреЗрдЯреЗрд░рд┐рд╕реНрдЯреЗрдкрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдЙрдирдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди "&" рдФрд░ "!" рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрд░рдорд╢рдГ, рд╢реЗрд╖ рджреЛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рд╖рд┐рджреНрдз рд╣реИред рдИрдмреЗ рднреА 20 рдЕрдХреНрд╖рд░реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
- рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреБрд░реНрд▓рдн рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде, рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдорд╛рди рдЖрджрд┐рдо рдорд╛рдирджрдВрдб рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдЕрдиреНрдпрдерд╛ рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдХрд╛рд░рдг рд╕рд╣реАрд╣реЛрд░рд╛рд╕реЗрдЯрд░рд╕реНрдЯреЗрдкрд▓ рдХреЛ рдЙрдЪреНрдЪрддрдо рд░реЗрдЯрд┐рдВрдЧ рдорд┐рд▓реЗрдЧреАред рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░, рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░, рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдкреЙрдЗрдВрдЯ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗ, рдЬреЛ рдЗрди рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рддрдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗрд╡рд▓ рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рджреНрд╡рд╛рд░рд╛ рд╣рдорд▓реЛрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рд╢рдмреНрджреЛрдВ рдХреЗ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдореИрдВ рдмрд╛рдХреА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдХреНрд╕рд░ рдРрд╕реА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдорд╛рдирджрдВрдб рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ (рдЬреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдВрдпреЛрдЬрди рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ)ред
- рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рдЖрдзрд╛рд░ рдкрд╛рд╕рд╡рд░реНрдб рд╢рдмреНрдж рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХреНрд╕рдмреЙрдХреНрд╕ (рдЬреИрд╕рд╛ рдХрд┐ рдЕрдВрддрд┐рдо рд╡рд░реНрддрдиреА рджреБрд░реНрд▓рдн рд╣реИ) рдореЗрдВ рдЯреНрд░рдмрд▓рдбреЛрд░ рдирд╣реАрдВ, рдЯреНрд░рдмрд▓рдмреЛрд░ рд▓рд┐рдпрд╛ред
рд╕реНрдерд╛рдкрдирд╛
Zxcvbn рд╕рд┐рд╕реНрдЯрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ (рд╕рдВрд╕реНрдХрд░рдг 7 рд╕реЗ рд╢реБрд░реВ) / рдУрдкреЗрд░рд╛ / рдлрд╛рдпрд░рдлреЙрдХреНрд╕ / рд╕рдлрд╛рд░реА / Google рдХреНрд░реЛрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрдВрдЬреАрдХрд░рдг рдкреГрд╖реНрда рдкрд░ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
<script src="zxcvbn-async.js" type="text/javascript"> </script>
Zxcvbn-async.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ рд╕рд┐рд░реНрдл 350 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред Window.load рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрдм рдкреГрд╖реНрда рд▓реЛрдб рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ zxcvbn.js рд▓реЛрдб рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ - 680 Kbytes (рдпрд╛ gzip рдореЗрдВ 320 Kbytes) рдХреА рдПрдХ "рднрд╛рд░реА" рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рд╣реИред рдореИрдВрдиреЗ рдХрднреА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмрдирд╛рддреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ: рдЪреВрдВрдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдорддреМрд░ рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рдЪреБрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрдВрдЬреАрдХрд░рдг рдлреЙрд░реНрдо рдореЗрдВ рдЕрдиреНрдп рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рд╣реИред рдпрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдбрд┐рдВрдЧ
рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг рд╣реИред
Zxcvbn рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рддрд╛ рд╣реИ:
zxcvbn(password, user_inputs)
рдпрд╣ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рддрд░реНрдХ (рдкрд╛рд╕рд╡рд░реНрдб) рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдгрд╛рдо рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
result.entropy
рд╡реИрдХрд▓реНрдкрд┐рдХ user_inputs рддрд░реНрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬреЛ zxcvbn рдЗрд╕рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЗрд╕рдореЗрдВ рдХреЛрдИ рднреА рд░реЗрдЦрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдлреЙрд░реНрдо рдХреЗ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рд╣реЛрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╛рдо рдпрд╛ рдИрдореЗрд▓ рдкрддрд╛)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рддрд╛рдХрдд рдмрд╣реБрдд рдХрдо рдЖрдВрдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдпрд╣ рд╕реВрдЪреА рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдЗрдЯ рдХреЗ рд╡рд┐рд╢реЗрд╖ рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢рдмреНрджрдХреЛрд╢ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ)ред
Zxcvbn рдХрд╛рд░реНрдпрдХреНрд░рдо CoffeeScript рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред Zxcvbn.js рдФрд░ zxcvbn-async.js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ
рдХреНрд▓реЛрдЬрд░ рдХрдирд╡рд░реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк zxcvbn рдХреЛ рд╕реБрдзрд╛рд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ,
README рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред
рдкрд╛рда рдХреЗ рд╕рд╛рде, рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ zxcvbn рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВред
рдЖрджрд░реНрд╢
Zxcvbn рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ: рдорд┐рд▓рд╛рди (рдореЗрд▓-рдорд┐рд▓рд╛рдк), рд╕реНрдХреЛрд░ (рдЧрдгрдирд╛), рдЦреЛрдЬ (рдЦреЛрдЬ)ред
- рдореИрдЪ рдлрд╝рдВрдХреНрд╢рди рд╕рднреА рдЬреНрдЮрд╛рдд рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рд╕рдореЗрдЯрддрд╛ рд╣реИ (рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рд╕рд╣рд┐рдд)ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ zxcvbn рдХрдИ рд╢рдмреНрджрдХреЛрд╢реЛрдВ (рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрджреЛрдВ, рдирд╛рдореЛрдВ рдФрд░ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рдПрдХ рд╢рдмреНрджрдХреЛрд╢, рд╕рд╛рде рд╣реА 10,000 рд╕рдмрд╕реЗ рдЖрдо рдмрд░реНрдиреЗрдЯ рдкрд╛рд╕рд╡рд░реНрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА), рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рдореБрдЦ рд╕рдВрдпреЛрдЬрдиреЛрдВ (QWERTY, Dvorak рдФрд░ рдбрд┐рдЬрд┐рдЯрд▓), рджреЛрд╣рд░рд╛рддрд╛ (рдПрдПрдП), рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдФрд░ рдЪрд░рд┐рддреНрд░ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдордВрдЬрд╕реНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред 123, gfedcba), 1900 рд╕реЗ 2019 рдХреЗ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рддрд┐рдерд┐рдпрд╛рдВ (3-13-1997, 13.3.1997, 1331997 рдХреЗ рдкреНрд░рд╛рд░реВрдк)ред рд╕рднреА рд╢рдмреНрджрдХреЛрд╢ рдКрдкрд░реА рдорд╛рдорд▓реЗ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп l33t рд╕рдордХрдХреНрд╖реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВред
- рд╕реНрдХреЛрд░ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рддреНрдпреЗрдХ рдорд┐рд▓рд╛рди рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдВрдЯреНрд░реЙрдкреА рдХреА рдбрд┐рдЧреНрд░реА рдХреА рдЧрдгрдирд╛ рд╢реЗрд╖ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ (рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкрдЯрд╛рдЦрд╛ рдЗрд╕ рд╕рдВрдпреЛрдЬрди рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИ)ред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг rrrrr рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрдЯрд╛рдЦрд╛ рдХреЛ 1 рд╕реЗ 5 рддрдХ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
entropy = lg(26*5)
- рдЦреЛрдЬ рдлрд╝рдВрдХреНрд╢рди рдУрдХрд╛рдо рд░реЗрдЬрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ; рд╕рдВрднрд╛рд╡рд┐рдд рдЕрддрд┐рд╡реНрдпрд╛рдкреА рдореИрдЪреЛрдВ рдХреЗ рдкреВрд░реНрдг рд╕реЗрдЯ рд╕реЗ, рдЦреЛрдЬ рдПрдХ рд╕рд░рд▓ рдЕрд╕рд╣рдорддрд┐ рдЕрдиреБрдХреНрд░рдо (рдиреНрдпреВрдирддрдо рдПрдиреНрдЯреНрд░реЙрдкреА рдХреЗ рд╕рд╛рде) рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд▓рд╛рдирдд рд╣реИ, рддреЛ рдЗрд╕реЗ 2 рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдмрд╛рдВрдз рдФрд░ рд░рд╛рд╖реНрдЯреНрд░, рдпрд╛ рдПрдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╢рдмреНрдж рдХреЛ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдкрдЯрд╛рдЦрд╛ рдЬреЛ рд╢рдмреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдПрдХ рд╢рдмреНрдж рдХреЗ рд░реВрдк рдореЗрдВ рджреЛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЪрдпрди рдХрд░реЗрдЧрд╛ред рд╡реИрд╕реЗ, рдЗрдВрдЯрд░рд╕реЗрдХреНрдЯрд┐рдВрдЧ рдХреЙрдореНрдмрд┐рдиреЗрд╢рди рднреА рдЗрд╕ рддрд░рд╣ рдХреЗ рдЧреИрд░-рдХрд╛рдиреВрдиреА рд░реВрдк рд╕реЗ рдШрд╛рддрдХ рдбреЛрдореЗрди рдирд╛рдореЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ childrens-laughter.comред
рдЦреЛрдЬ рдлрд╝рдВрдХреНрд╢рди рдореЙрдбрд▓ рдХреА рдЖрдзрд╛рд░рд╢рд┐рд▓рд╛ рд╣реИред рдореИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓реМрдЯреВрдВрдЧрд╛ред
рдПрдиреНрдЯреНрд░рд╛рдкреА рдиреНрдпреВрдирддрдо рдЦреЛрдЬ
Zxcvbn рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреА рдбрд┐рдЧреНрд░реА рдХреА рдЧрдгрдирд╛ рдЙрд╕рдХреЗ рдШрдЯрдХ рднрд╛рдЧреЛрдВ рдХреА рдПрдВрдЯреНрд░реЛрдкрд┐рдпреЛрдВ рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реИред рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рдмреАрдЪ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдХрд┐рд╕реА рднреА рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рджреГрд╢реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдирдХреЗ рдЕрдкрдиреЗ рдПрдВрдЯреНрд░реЙрдкреА рднреА рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдиреНрдЯреНрд░рд╛рдкреА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЙрдкрдирд╛рдо рдХрд╛ рдПрдиреНрдЯреНрд░рд╛рдкреА, рдПрдиреНрдпреВрдорд░реЗрд╢рди рдХрд╛ рдПрдиреНрдЯреНрд░рд╛рдкреА рдФрд░ рдПрдХ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдПрдиреНрдЯреНрд░рд╛рдкреА рд╢рд╛рдорд┐рд▓ рд╣реИ:
entropy("stockwell4$eR123698745") == surname_entropy("stockwell") + bruteforce_entropy("4$eR") + keypad_entropy("123698745")
рдпрд╣рд╛рдВ рд╣рдо рдЧрдВрднреАрд░ рдзрд╛рд░рдгрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдПрдиреНрдЯреНрд░рд╛рдкреА рдЙрд╕рдХреЗ рднрд╛рдЧреЛрдВ рдХреА рдПрдиреНрдЯреНрд░рд╛рдкреА рдХрд╛ рдпреЛрдЧ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдзрд╛рд░рдгрд╛ рдмрд╣реБрдд рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╣реИред "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдПрдиреНрдЯреНрд░реЙрдкреА" рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗ рдмрд┐рдирд╛ - рдХреНрдпрд╛ рд╣реИ, рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛ - zxcvbn рдЬрд╛рдирдмреВрдЭрдХрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдХрд┐рд╕реА рднреА рдореВрд▓реНрдп рдХреЛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдард╣рд░рд╛рдП рдмрд┐рдирд╛ рдХреБрд▓ рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдкреНрд░реЛрдЧреНрд░рд╛рдо рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкрдЯрд╛рдЦрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрд░рдЪрдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдирд╛рдо-рдЪрдпрдирд┐рдд рд╕рдВрдпреЛрдЬрди) рдЬрд╛рдирддрд╛ рд╣реИ рдЕрдВрдХ "), рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдЖрдЗрдЯрдо рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рд╡рд╛рд▓реЗ рдкрд╛рд╕рд╡рд░реНрдбреЛрдВ рдХреА рдПрдиреНрдЯреНрд░реЛрдкреА рдХреЛ рдмрд╣реБрдд рдХрдо рдЖрдВрдХрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╣реАрд╣реЛрд░рд╛рд╕реЗрд░реНрдмреЗрдЯрд┐рд╕реНрдЯрд╛рдкрд▓ (рд╢рдмреНрдж-рд╢рдмреНрдж-рд╢рдмреНрдж-рд╢рдмреНрдж-рд╢рдмреНрдж) рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдХреНрд░реИрдХ рдХрд░рдХреЗ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, L0phtCrack рдпрд╛ John Ripper рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдкрдЯрд╛рдЦрд╛, рдкрд╣рд▓реЗ рдХрдИ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ (рд╢рдмреНрдж, рд╢рдмреНрдж-рд╕рдВрдЦреНрдпрд╛, рд╢рдмреНрдж-рд╢рдмреНрдж) рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ рд╢рдмреНрдж-рд╢рдмреНрдж-рд╢рдмреНрдж-рд╢рдмреНрджред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдХрдореА рдХреЗ рддреАрди рдХрд╛рд░рдг рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:
- рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдПрдВрдЯреНрд░реЛрдкреА рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдореЙрдбрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ; рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдЖрдБрдХрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ, рдЬрд┐рди рдкрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдПрдиреНрдЯреНрд░рд╛рдкреА рдЕрдиреБрдорд╛рди рдХреЛ рдХрдо рдЖрдВрдХрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
- рдПрдХ рдЬрдЯрд┐рд▓ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде, рдЗрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рдПрдВрдЯреНрд░рд┐рдпреЛрдВ рдХрд╛ рдпреЛрдЧ рдЕрдХреНрд╕рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЬрдЯрд┐рд▓рддрд╛ рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╣реА-рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╢рдмреНрдж-рд╢рдмреНрдж-рд╢рдмреНрдж рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЬрд╛рдирддреЗ рд╣реБрдП рднреА, рдкрдЯрд╛рдЦрд╛ рдЗрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рджрд┐рдпреЛрдВ рддрдХ рдХреНрд░реИрдХ рдХрд░реЗрдЧрд╛ред
- рдкрд╛рд╕рд╡рд░реНрдб рдмрдирд╛рддреЗ рд╕рдордп рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЙрдкреЗрдХреНрд╖рд╛, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХреЗрд╡рд▓ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреБрд▓ рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдХреБрд╢рд▓ рдЧрддрд┐рд╢реАрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдореИрдЪреЛрдВ рдХреЗ рдиреНрдпреВрдирддрдо рдбрд┐рд╕рдСрд░реНрдбрд░ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп O (n тАв m) рд╣реИ, рдЬреЛ рдХрд┐ рд▓рдВрдмрд╛рдИ n рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдореЗрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред
рдмреИрдХрдкреЙрдЗрдВрдЯрд░реНрд╕ [j] рд╕рд░рдгреА рдкрд╛рд╕рд╡рд░реНрдб рдХреНрд░рдо j, рдпрд╛ рдирд▓ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдЪ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ рд╣реИред рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдЗрд╖реНрдЯрддрдо рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЖрдорддреМрд░ рдкрд░ рдЕрдВрдд рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рджреМрд░рд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕рд░рд▓ рдУ (2
рдореАрдЯрд░ ) рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрднрд╡ рдЕрд╕рдВрддреБрд╖реНрдЯ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рдХреЗ рд▓рд┐рдП рд░рдХрдо рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрдд рдХреА, рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдзреАрдорд╛ рд╣реЛ рдЧрдИред рдЕрдм, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд╛рд╕рд╡рд░реНрдбреЛрдВ рдХреЗ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, zxcvbn рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдореЛрдЯреЗ рдЕрдиреБрдорд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, Google рдХреНрд░реЛрдо рдореЗрдВ 2.4 GHz рдЗрдВрдЯреЗрд▓ Xeon рдореЗрдВ, рд╕рд╣реАрд╣реЛрд░рд╛рд╕реНрдмреЗрдЯреЗрд░рд┐рд╕реНрдЯреЗрдкрд▓ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдФрд╕рддрди рд▓рдЧрднрдЧ 3 рдПрдордПрд╕ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╛рд╕рд╡рд░реНрдб coRrecth0rseba ++ ery9 / 23 / 2007staple $ рдФрд╕рдд рдкрд░ рд▓рдЧрднрдЧ 12 рдПрдордПрд╕ рд▓реЗрддрд╛ рд╣реИред
рдЦрддрд░рд╛ рдореЙрдбрд▓: рдПрдиреНрдЯреНрд░рд╛рдкреА рдФрд░ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЯрд╛рдЗрдо рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз
рдПрдиреНрдЯреНрд░реЙрдкреА рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдмрд╣реБрдд рдкрд╛рд░рджрд░реНрд╢реА рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВ рд╣реИред 28-рдмрд┐рдЯ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛рдлреА рдордЬрдмреВрдд рд╣реИ рддреЛ рдХреИрд╕реЗ рд╕рдордЭреЗрдВ? рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣реИрдХрд┐рдВрдЧ рдХреЗ рд╕рдордп рдореЗрдВ рд╕реАрдзреЗ рдПрдиреНрдЯреНрд░рд╛рдкреА рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рд╕реЗ рдХреИрд╕реЗ рдЬрд╛рдирд╛ рд╣реИ? рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдзрдордХреА рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐:
- рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ "рдирдордХ" рдФрд░ "рдирдордХ" рдХреЗ рд╕рд╛рде рд╣реИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрдВрджреНрд░рдзрдиреБрд╖ рдХреА рдореЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣рдорд▓реЗ рдХреЛ рдЕрдиреБрдЪрд┐рдд рдмрдирд╛рддрд╛ рд╣реИ;
- рдкрдЯрд╛рдЦрд╛ рд╕рднреА рд╣реИрд╢ рдФрд░ рд╕рднреА "рдирдордХ" рдЪреЛрд░реА рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдФрд░ рдЕрдм рд╡рд╣ рдЙрдЪреНрдЪрддрдо рд╕рдВрднрд╡ рдЧрддрд┐ рд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди рдСрдлрд╝рд▓рд╛рдЗрди рдкрд╛рд╕рд╡рд░реНрдб рдЙрдард╛рддрд╛ рд╣реИ;
- рдкрдЯрд╛рдЦрд╛ рдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдХрдИ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИрдВред
рдХреБрдЫ рд╕рд╛рдВрдХреЗрддрд┐рдХ рдЖрдВрдХрдбрд╝реЗ:
рдпрд╣рд╛рдВ рдореИрдВрдиреЗ 0.5 рдХреЗ рдЧреБрдгрд╛рдВрдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдФрд╕рдд рд╣реИрдХрд┐рдВрдЧ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдкреВрд░реЗ рдЦреЛрдЬ рд╕реНрдерд╛рди рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред
рд╢рд╛рдпрдж рдпреЗ рдЧрдгрдирд╛ рдмрд╣реБрдд рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╣реИрдВред рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╣реИрд╢ рдЪреЛрд░реА рдмрд╣реБрдд рдХрдо рд╣реА рд╣реЛрддреА рд╣реИ, рдФрд░ рдЬрдм рддрдХ рдХрд┐ рд╣рдорд▓рд╛ рд╕реАрдзреЗ рдЖрдк рдкрд░ рди рд╣реЛ, рдкрдЯрд╛рдЦрд╛ рдЖрдкрдХреЗ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдкрд░ 100 рдХреЛрд░ рд▓реЗрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдСрдирд▓рд╛рдЗрди рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╡реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд▓рдВрдмрддрд╛, рдмрдврд╝рддреА рд╣реБрдИ рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рдХреИрдкреНрдЪрд╛ рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реЛрддреЗ рд╣реИрдВред
рдПрдиреНрдЯреНрд░рд╛рдкреА рдЧрдгрдирд╛
рдЕрдм рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ zxcvbn рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рд╕рдВрдпреЛрдЬрди рдХреА рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ calc_entropy () рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рд╣реИ:
calc_entropy = (match) -> return match.entropy if match.entropy? entropy_func = switch match.pattern when 'repeat' then repeat_entropy when 'sequence' then sequence_entropy when 'digits' then digits_entropy when 'year' then year_entropy when 'date' then date_entropy when 'spatial' then spatial_entropy when 'dictionary' then dictionary_entropy match.entropy = entropy_func match
рдКрдкрд░, рдореИрдВрдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ repeat_entropy рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдПрдиреНрдЯреНрд░рд╛рдкреА рдЧрдгрдирд╛ рдХреЛрдб рдХрд╛
рдкреВрд░рд╛ рдкрд╛рда рдЬреАрдердм рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рджреЛ рдЕрдиреНрдп рдЧрдгрдирд╛ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛: рд╕реНрдкреИрдЯрд┐рдпрд▓_рдПрдВрдЯреНрд░реЛрдкреА (рдХреАрдмреЛрд░реНрдб рд╕рдВрдпреЛрдЬрди рдХреА рдПрдиреНрдЯреНрд░рд╛рдкреА) рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА_рдПрдВрдЯреНрд░реЛрдкреА (рд╢рдмреНрджрдХреЛрд╢ рдПрдиреНрдЯреНрд░реЙрдкреА)ред
Qwertyhnm рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ q рд╡рд░реНрдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ 9 рд╡рд░реНрдг рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдЖрдВрджреЛрд▓рди рдХреА рддреАрди рджрд┐рд╢рд╛рдПрдБ рд╣реИрдВ: рдкрд╣рд▓реЗ рджрд╛рдИрдВ рдУрд░, рдлрд┐рд░ рдиреАрдЪреЗ рдФрд░ рджрд╛рдИрдВ рдУрд░, рдлрд┐рд░ рдиреАрдЪреЗ рдФрд░ рджрд╛рдИрдВ рдУрд░ рдмрдврд╝рдирд╛ред рд╣рдо рдЗрд╕ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдорд╛рдирдХреАрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ:
s
рдлрд┐рд░ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд╛рди рдореЗрдВ рд▓рдВрдмрд╛рдИ рдПрд▓ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдХреАрдмреЛрд░реНрдб рд╕рдВрдпреЛрдЬрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдЯреА рдпрд╛ рдХрдо рджрд┐рд╢рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ:

рдлрд╝рдВрдХреНрд╢рди "
рджреНрд╡рд┐рдкрдж рдЧреБрдгрд╛рдВрдХ рд╕реЗ (i - 1) рд╕реЗ (j - 1) " рд▓рдВрдмрд╛рдИ рдХреЗ рдХреАрдмреЛрд░реНрдб рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ j рджрд┐рд╢рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред "-1" рдХреЛ рджреЛрдиреЛрдВ рддрддреНрд╡реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджрд┐рд╢рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рдЬреЗ рджрд┐рд╢рд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП, рдбреА рд╕рдВрднрд╡ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреБрд▓ рдбреАрдЬреЗ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВред рдХреНрд░реИрдХрд░ рдХреЛ рд╕рднреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд░реНрдгреЛрдВ рдкрд░ рднреА рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╕реВрддреНрд░ рдореЗрдВ рдЧреБрдгрд╛рдВрдХ рд╣реИред рд╕реВрддреНрд░ рд╕реНрд╡рдпрдВ рдмрд╣реБрдд рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрд╕рд▓реА рдХреАрдмреЛрд░реНрдб рдкрд░ рдЕрд╕рдВрднрд╡ рд╣реИрдВ: рджрд┐рд╢рд╛ 5 рдХреЗ 1 рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рд▓рдВрдмрд╛рдИ 5 рдХреЗ рдХреАрдмреЛрд░реНрдб рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рдСрдкрд░реЗрд╢рди "рдХреНрдпреВ" рдФрд░ "рд▓реЗрдлреНрдЯ рд▓реЗрдлреНрдЯ" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрд╕рдВрднрд╡ рд╣реИред
рдЗрд╕ рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
lg = (n) -> Math.log(n) / Math.log(2) nPk = (n, k) -> return 0 if k > n result = 1 result *= m for m in [n-k+1..n] result nCk = (n, k) -> return 1 if k = 0 k_fact = 1 k_fact *= m for m in [1..k] nPk(n, k) / k_fact spatial_entropy = (match) -> if match.graph in ['qwerty', 'dvorak'] s = KEYBOARD_STARTING_POSITIONS d = KEYBOARD_AVERAGE_DEGREE else s = KEYPAD_STARTING_POSITIONS d = KEYPAD_AVERAGE_DEGREE possibilities = 0 L = match.token.length t = match.turns
:
dictionary_entropy = (match) -> entropy = lg match.rank entropy += extra_uppercasing_entropy match entropy += extra_l33t_entropy match entropy
тАФ :
: ,
the good ,
photojournalist maelstrom тАФ . zxcvbn , , , . , correcthorsebatterystaple xkcd zxcvbn (45,2 44 ). xkcd 211 ( 2000 ), zxcvbn . zxcvbn.js ,
, , .
, ┬л┬╗, , . , , :
extra_uppercase_entropy = (match) -> word = match.token return 0 if word.match ALL_LOWER
, 1 ┬л ┬╗ . , :

l33t , .
, , zxcvbn . тАФ : :
dictionary_match = (password, ranked_dict) -> result = [] len = password.length password_lower = password.toLowerCase() for i in [0...len] for j in [i...len] if password_lower[i..j] of ranked_dict word = password_lower[i..j] rank = ranked_dict[word] result.push( pattern: 'dictionary' i: i j: j token: password[i..j] matched_word: word rank: rank ) result
Ranked_dict . , , . l33t , dictionary_match. (, bvcxz) , . . matching.coffee github .
рдбреЗрдЯрд╛
,
10 000 , 2011 .
2000 , . zxcvbn Internet Explorer 7, 80 % (. . 80 % , ), тАФ 90 %.
40 000
Wiktionary , 29 . , . , , , (, ), тАФ . , , Frasier 824- .
рдирд┐рд╖реНрдХрд░реНрд╖
, , . , тАФ , ┬л ┬╗ , ( ) . , , . : , , , ( , ).
, . Zxcvbn , ; n-; ; (, qzwxec) . (,
) , , zxcvbn, , тАФ . :
- zxcvbn , . . zxcvbn . .
- , , . zxcvbn , ┬л ┬╗ , . n- Google , , . , Google.
- Zxcvbn ( ) . ( , ). , тАФ , l33t.
, , , zxcvbn , . , . ┬л┬╗
github !
, , , , , , , , , , , , , , .
ABBYY Language Servicesps ┬л ┬╗, ┬л ┬╗ тАФ .