рд▓рд┐рдВрдХреНрдбрдЗрди рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛рди рдХрд┐рдП
рдЧрдП рдкрд╛рд╕рд╡рд░реНрдбреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛, рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд┐рд▓рд╛рди рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд▓рдВрдмрд╛рдИ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рд╡рд┐рд╢реЗрд╖ рдкрд╛рддреНрд░реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдпрд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ - рдХреБрдЫ рдкрд╛рд╕рд╡рд░реНрдб рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ "рдЯреБрдХрдбрд╝реЛрдВ" рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдмрддрд╛рдП рдЧрдП рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЫрд╛рдВрдЯрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрдирд░реЗрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдкрдХреЛ рдРрд╕рд╛ рдХреЛрдИ рдкрд╛рд╕рд╡рд░реНрдб рдирд╣реАрдВ рджреЗрдЧрд╛ - рдПрдХ рджреБрд░реНрдШрдЯрдирд╛, рдпрд╣ рдПрдХ рджреБрд░реНрдШрдЯрдирд╛ рд╣реИред рдореЗрд░реА рд░рдЪрдирд╛ рдореБрджреНрджреЗ рдХреЗ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХрд╛ рдвреЛрдВрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рд╕рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ (рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдереЛрдбрд╝рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рднреА рдореМрдЬреВрдж рд╣реИ)ред
рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдмрдирд╛рдо рд╡рд┐рд╢реНрд╡рд╛рд╕
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВ рдПрдХ рддрд░рд╣ рдХреА рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЗрд╣рддрд░ рд╕реЛрдЪрд╛; рдПрдХ рд╕рдХреНрд╖рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд╣рд▓реЗ рдпрд╣ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрд╕рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдХрд╣рд╛рдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдРрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рднрд░реЛрд╕рд╛ рди рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдХрд╛рд░рдг рд╣реИрдВред рдЖрдкрдиреЗ рдЕрднреА рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ AJAX'om рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреАрдВрдЪрд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрдИ рдзрдиреНрдпрд╡рд╛рдж рдирд╣реАрдВред
рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдореЗрдВ рдЪреБрдкрдЪрд╛рдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдпрд╣ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╣реИ рдХрд┐ рдореИрдВ рд╕реНрд╡рдпрдВ рдЬрдирд░реЗрдЯрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдПрдВрдЯреНрд░реЛрдкреА рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреА рд╡рд┐рд╢рд╛рд▓ рд╕реВрдЪреА рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд┐рд╕реА рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕реНрд╡рдпрдВ рдПрдХ рд╕реНрд░реЛрдд рдХреЛрдб (C # рдореЗрдВ, рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдХреБрдЫ рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдмрд┐рддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛) рдкрд░ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЬреЛрд░рджрд╛рд░ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рдкрд╛рд╕рд╡рд░реНрдб рдЬрдирд░реЗрд╢рди
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреАрдврд╝реА рдХреА рдпреЛрдЬрдирд╛ рдХреБрдЫ рдПрдиреНрдЯреНрд░рд╛рдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рджрд┐рдП рдЧрдП рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓рдХреНрд╖реНрдп рд▓рдВрдмрд╛рдИ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реИред
рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ
рдорд╛рдирдХ рдорд╛рдирдХ рд╕рдорд╛рдзрд╛рди рд╣реИ , рдЬреЛ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдиреНрдЯреНрд░рд╛рдкреА рдкреВрд▓ (рдпрд╛рдиреА, рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдпреЛрдВ) рдХреЗ рдкреНрд░рднрд╛рд╡реА рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрд▓рд╛рддрд╛ рд╣реИ:
string generatePassword(string charset, int length) { byte[] result; SHA1 sha = new SHA1CryptoServiceProvider(); result = sha.ComputeHash(seed);
рд░реИрдВрдбрдо рд╡реИрд▓реНрдпреВрдЬрд╝ рдХреЛ рдЦреБрдж рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рди
- рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рддрд╛рд╡рд░рдг (рд╕реНрдореГрддрд┐ рдореЗрдВ рдорд╛рди, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧреБрдг),
- рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛,
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рддрдЪреАрддред
рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╣рд▓реЗ рддреАрди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдорд╛рдиреА рдорд╛рдирддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд░рд╛рдм рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рднреА рдХреАред рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗрдВрд╕рд░ рдирд╣реАрдВ рдЯреВрдЯреЗрдЧрд╛ рдФрд░ "рдПрдХ рд╣реА рдЪреАрдЬ" рдирд╣реАрдВ рджреЗрдЧрд╛, рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░реНрдпрд╛рдкреНрдд рдЧрддрд┐рд╢реАрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗрд╡рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдбреЗрдЯрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреА рд╣реИ (рдФрд░ рдмрдЪрд╛ рд╕рдХрддреА рд╣реИ)ред рдпреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдореЗрдВ рдХреБрдЫ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред
рддреЛ рдпрд╣ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдФрд░ рдорд╛рдЙрд╕ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЖрдВрджреЛрд▓рди рдХреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рд╕рдордп рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ, рд╣рдореЗрд╢рд╛ рдЕрд▓рдЧ рдФрд░ рд▓рдЧрднрдЧ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реЛрддреА рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди (рдкреНрд░реЛрд╕реЗрд╕рд░ рдЯрд┐рдХреНрд╕) рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдордп рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВред
void handleMouseData(int x, int y) { addToSeed(x); addToSeed(y); addToSeed(ticks()); }
рдХреЛрдб рдХрд╛ рд╡рд╣ рдЫреЛрдЯрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреЗ рдЧрдарди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЗрд╕ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ:
int ticks() { long timer; if (QueryPerformanceCounter(out timer) == false) {
QueryPerformanceCounter рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрд▓рдЧ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪ рдХреЗ рддрдереНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рдмрджрд▓рддрд╛ рд╣реИред рдПрдХ рдорд╛рддреНрд░рд╛, рдЬреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреА рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рд╡реГрджреНрдзрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЗрд╕реЗ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдирддреАрдЬрддрди, рд╣рдо рдЕрдЪреНрдЫреЗ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдЫ рдореБрд╢реНрдХрд┐рд▓ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдП рдмрд┐рдирд╛, рдкреАрдврд╝реА рдХреЗ рдЕрдВрдд рдХреЗ рд▓рд┐рдП рдШрдВрдЯреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЬрдЯрд┐рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИрдВред рдореИрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдвреЛрдВрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ (рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реА рдпрд╣ рдФрд░ рднреА рдордЬрд╝реЗрджрд╛рд░ рд╣реЛ рдЧрдпрд╛), рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдореЗрдВ рдкреЛрдХ рдХрд░рдиреЗ рдФрд░ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдЖрдкрдХреЛ рдЬреЛ рдкрд╕рдВрдж рд╣реИ рдЙрд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрд╛рдп рдирд╣реАрдВ рд╣реИред

рд╣реИрдХрд┐рдВрдЧ рдЯрд╛рдЗрдо рдХрд╛ рдЕрдиреБрдорд╛рди
рдкреНрд░рддреНрдпрдХреНрд╖ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП, рдХреБрд▓ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
- рдлрд╝рдВрдХреНрд╢рди рдХреА рдЧрддрд┐ рдЬрд╛рдВрдЪреЗрдВ
- рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╢рдХреНрддрд┐
- рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреА рд╢рдХреНрддрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЕрдХреНрд╖рд░реЛрдВ рд╕реЗ рдпреБрдХреНрдд рдиреНрдпреВрдирддрдо (рдПрдХ рдЙрдЪрд┐рдд рд╡рд┐рд╡рд░рдг рдорд╛рдирджрдВрдб рдХреЗ рд╕рд╛рде) рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдпреЗ рдлреЙрд░реНрдо рдХреЗ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ:
- рдЫреЛрдЯреЗ рдЕрдХреНрд╖рд░
- рдЕрдкрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░
- рдЖрдВрдХрдбрд╝реЗ
- рд╡рд┐рд╢реЗрд╖ рд╕рдВрдХреЗрддред
рдЗрд╕рд▓рд┐рдП, рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЙрди рд╡рд░реНрдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рд╣рдорд╛рд░рд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕реЗрдЯ рд╢рдХреНрддрд┐ рдореЗрдВ рд╕рднреА рд╡рд░реНрдг рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ:
double bruteforceCombinations = Math.Pow(26 * upper + 26 * lower + 10 * numeric + specials.Length * special, pwd.Length);
рд╣реИрд╢рд┐рдВрдЧ рдЧрддрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ, рдореИрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЕрдиреБрдорд╛рдирд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ (рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬ рдЫреЛрдбрд╝рдирд╛ рд╕рд╣реА рд╣реЛрдЧрд╛, рдЕрдм рдпрд╣ рдПрдордбреА 5 рд╣реИ)ред
рдФрд░
рдореВрд░ рдХреЗ рдХрд╛рдиреВрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ "рджрд░рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЦреЛрдВ рд╕рд╛рд▓" рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдЧрдгрдирд╛ рдмрд╣реБрдд рднреЛрд▓реА рд▓рдЧрддреА рд╣реИрдВред рдпрджреНрдпрдкрд┐ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдХреА рд╡реГрджреНрдзрд┐ рдХреА рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╡рд┐рдХрд╛рд╕ рджрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред
рдФрд░ рдЕрдм, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореБрдЦреНрдп рдмрд╛рдд
рдЕрдкрдШрдЯрди рджреНрд╡рд╛рд░рд╛
рд╣рдорд▓реЗ рдХреЗ рд╕рдордп рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реИред
рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдиреНрдпреВрдирддрдо рдЯреВрдЯрдиреЗ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЕрдХреНрд╕рд░ рдкрд╛рдпрд╛ рд╕рдмреНрд╕рдЯреНрд░реЗрдЯрд┐рдВрдЧ) == рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд▓рдВрдмрд╛рдИред рдФрд░ рд╢рдмреНрджрдХреЛрд╖ рдХреА "рд╢рдХреНрддрд┐" рдХреА рдЧрдгрдирд╛ == рдЗрд╕рдореЗрдВ рд╢рдмреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рд▓рдВрдмрд╛рдИ рдХреА рдбрд┐рдЧреНрд░реА рдореЗрдВ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдЕрднреА рднреА "рд╢рдХреНрддрд┐" рд╣реИред
рдпрджрд┐ рд╣рдорд╛рд░рд╛ рдкрд╛рд╕рд╡рд░реНрдб "Good123Password" рд╣реИ, рддреЛ рдпрд╣ "рдЧреБрдб", "123", "рдкрд╛рд╕рд╡рд░реНрдб" рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЖрдо рд╣реИрдВ рдФрд░ рдХреНрдпреВрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рд╕рд┐рд░реНрдл "рдмрд╣реБрдд рдХрдо" рд╣реИред
рд╕рд╡рд╛рд▓, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдРрд╕реЗ рд╢рдмреНрджрдХреЛрд╢ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░, рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рдореИрдВ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ рдЬреЛ рд▓рд┐рдВрдХреНрдбрдЗрди рдкрд░ рдПрдХ рдСрдбрд┐рдЯ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдерд╛, рдЬреЛ рдХрд┐ 2.5 рдорд┐рд▓рд┐рдпрди рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рд╕рдВрдпреЛрдЬрдиреЛрдВ рд╕реЗ рдмрдирд╛ рдерд╛ред рд╢рдмреНрджрдХреЛрд╢ рд╣реА 40 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд▓рд┐рдВрдХ:
dl.dropbox.com/u/243445/md5h/pwdmaster.zipрдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдпреЛрдЬрдиреЛрдВ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдпрд╛ рдЦрд╛рдорд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рд╡реЗ рдкреАрдврд╝реА рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдореЗрд░реА рддреБрд▓рдирд╛ рдореЗрдВ рдмрджрддрд░ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ "рдЖрдк рдзреНрд╡рдирд┐ рд╕реЗ рд╕реЛ рд╕рдХрддреЗ рд╣реИрдВред" 14-рд╡рд░реНрдг рдЕрд▓реНрдлрд╝рд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдбреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рддрд╛рдХрд┐ рдбрд┐рдХреНрд╢рдирд░реА рд╕рд░реНрдЪ рдбрд╛рдпрд░реЗрдХреНрдЯ рд╕рд░реНрдЪ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реЛ) рдПрдХ рдкреНрд░рддрд┐рд╢рдд рд╕реЗ рднреА рдХрдо рд╣реИред