рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рд▓рдЧрднрдЧ 30 рдЧрд┐рдирд╛ред рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд╣реИрдВ
рдлреЛрд▓реНрдбрд┐рдВрдЧ @ рд╣реЛрдо ,
BOINC ,
SETI @ рд╣реЛрдо ,
рдЖрдЗрдВрд╕реНрдЯреАрди @ рд╣реЛрдо ,
рд░реЛрд╕реЗрдЯрд╛ @ рд╣реЛрдо (рдЙрдирдХреА рдЧрдгрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХрдИ рджрд░реНрдЬрди рд╢реЛрдз рдкреНрд░рдмрдВрдз рд▓рд┐рдЦреЗ рдЧрдП рдереЗ)ред рд╡реЗ рд╕рдм рдХреБрдЫ рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - md5 рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЪрдпрди рд╕реЗ рд▓реЗрдХрд░ рдкреНрд░реЛрдЯреАрди рдЬрдорд╛рд╡рдЯ рдХреЗ рдЕрдиреБрдХрд░рдг рддрдХред
рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд▓рд╛рдЦреЛрдВ рдиреЛрдбреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдПрдХ рд╕реБрдкрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣реИред
- рд░реЛрд╕реЗрдЯрд╛ @ рдШрд░ - 110 рд╕реЗ рдЕрдзрд┐рдХ TFlops
- рдЖрдЗрдВрд╕реНрдЯреАрди @ рд╣реЛрдо - 355 рд╕реЗ рдЕрдзрд┐рдХ TFlops
- SETI @ рдШрд░ - 560 рд╕реЗ рдЕрдзрд┐рдХ teraflops
- BOINC - 5.6 рд╕реЗ рдЕрдзрд┐рдХ Pflops
- рдлреЛрд▓реНрдбрд┐рдВрдЧ @ рд╣реЛрдо - 5.9 Pflops рдкрд░
- рдмрд┐рдЯрдХреЙрдЗрди - 9.4 рд╕реЗ рдЕрдзрд┐рдХ Pflops
рд╕реБрдкрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ:
- рдмреНрд▓реВ рдЬреАрди / рдПрд▓ (2006) - 478.2 TFlops
- рдЬрдЧреБрдЖрд░ (рд╕реБрдкрд░ рдХрдВрдкреНрдпреВрдЯрд░) (2008) - 1.059 Pflops
- рдЖрдИрдмреАрдПрдо рд░реЛрдбрд░рдирд░ (2008) - 1.042 Pflops
- рдЬрдЧреБрдЖрд░ рдХреНрд░реЗ XT5-HE (2009) - 1.759 Pflops
- рддрд┐рдпрд╛рдиреНрд╣реЗ -1 рдП (2010) - 2.507 Pflops
- рдЖрдИрдмреАрдПрдо рд╕рд┐рдХреЛрдЗрдпрд╛ (2012) - 20 рдкреАрдлреНрд▓реЙрдкреНрд╕
рдФрд░ рдЕрдм, рдЖрдЗрдП рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдореМрдЬреВрджрд╛ рдЕрдкреНрд░рдпреБрдХреНрдд рдХреНрд╖рдорддрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ:
2010 рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдиреБрдорд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓рдЧрднрдЧ 2 рдмрд┐рд▓рд┐рдпрди рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (2 рдмрд┐рд▓рд┐рдпрди) рдереЗред
рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 8 Gflops (AMD Athlon 64 2.211 GHz) рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо 1 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рд╣реИред
рд╕рд░рд▓ рдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдРрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрдЧрд╛:
8 * 10 9 * 2 * 10 9
=
16 рдПрдХреНрд╕рдлреЛрд▓реЙрдкреНрд╕ (10
18 )ред
рдЗрд╕ рддрд░рд╣ рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрднреА рднреА рдирд┐рд░реНрдорд┐рдд рдЖрдИрдмреАрдПрдо рд╕реЗрдХреЛрдЗрдпрд╛ (2012) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ
800 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реИ, рдмрд┐рдЯрдХреЙрдЗрди рдиреЗрдЯрд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ
1700 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдФрд░ рд╕рднреА рд╕реБрдкрд░ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реИ! рдЕрдм рдкреАрд╕реА рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдФрд░ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рд╕рдВрдЦреНрдпрд╛ (16 exaflops) рдЖрджрд░реНрд╢ рд╣реИ, рдХреЛрдИ рднреА 24/7 рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджрд┐рди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 2 рдорд┐рдирдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ), рддреЛ рдРрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдЖрдИрдмреАрдПрдо рд╕реЗрд╡рд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рдПрдЧреАред
рдЖрдЬрдХрд▓, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВред
рдпрд╣ рд▓реЗрдЦ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдореЗрд░реЗ рд▓реЗрдЦ рдХреА рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИ:
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧрд╡рд░реНрд╖ рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдХреНрдпрд╛ рд░реЛрдХрд╛ рдЧрдпрд╛ рд╣реИ?рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рдЕрдЪреНрдЫреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ WebWorkers, localStorage, SQL DB, IndexedDB рдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдПред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдореЗрдВ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдлреНрд▓реИрд╢ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд░реЛрдХрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд▓реИрдЧреНрд╕ рдХрд╛ рдПрдХ рдЕрджреНрднреБрдд рд╕реНрд░реЛрдд рд╣реИ, рдФрд░ рдлреНрд▓реИрд╢ рд╕реНрдЯреЛрд░реЗрдЬ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рд╕реАрдорд┐рдд рд╣реИред рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рд╡рд┐рдХрд▓рд╛рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рддрд░рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдорд┐рд▓рд╛ рд╣реЛрддрд╛: рд▓реИрдЧреНрдпреБ, рдмреИрд╕рд╛рдЦреА, рдШреБрд╕рдкреИрдаред
рдЕрдм рд╣рдо 1 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреЗ 100% рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП WebWorkers рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ 2 рд╢реНрд░рдорд┐рдХ рд╣реИрдВ, рддреЛ 2 рдХреЛрд░ (рдХреЛрд░ рдХреЗ рдмреАрдЪ рдХрд╛рдо рдХрд╛ рд╡рд┐рддрд░рдг рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ)ред рд╣рдо рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВ: 50MB IndexedDB (рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕) + 5MB рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ + рдХреБрдЫ рдЕрдиреНрдп рднрдВрдбрд╛рд░рдгред рдпреЗ 55 + MB рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЯрд╛рд╕реНрдХ рдбреЗрдЯрд╛ рдФрд░ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред 2011 рдореЗрдВ 2010 рдХреЗ рдЕрдВрдд рдореЗрдВ, Node.js. рдиреЗ рдЬрд▓реНрджреА рд╕реЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд╛рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ : рдЙрдкрдпреБрдХреНрдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдБ Node.js + WebWorkers + localStorage + IndexedDBред 2,000,000,000 рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЬрд┐рдирдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИред рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ рдФрд░ рдЙрдирдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИред рд╣рд░ рдорд╣реАрдиреЗ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рддреЗрдЬреА рд╕реЗ рдФрд░ рддреЗрдЬреА рд╕реЗ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ 16 exaflops рдХреА рдЧреИрд░-рдЙрдкрдпреЛрдЧ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдЗрд╕ рдзрд╛рд░рд╛ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ!
рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╣рд╛рдВ рдПрдореНрдмреЗрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдЬрдм рдЖрдк рдкреГрд╖реНрда рджреЗрдЦ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ 10-20% рдкрд░ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЖрдк YouTube рд╕реЗ рдПрдХ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЖрдкрдХрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ 30-50% рдкрд░ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ (рдореИрдВ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╕реЛрдЪрддрд╛)ред рдЖрдкрдХреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдФрд░ рдХрд╖реНрдЯрдкреНрд░рдж рдлреНрд▓реИрд╢ рдмреИрдирд░ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХрд╖реНрдЯрдкреНрд░рдж рдмреИрдирд░ рдФрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рджреЗрдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдПрдХ рдЕрдЪреНрдЫреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЖрдк YouTube рд╕реЗ рдПрдХ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕рдордп рдЖрдкрдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлреЛрд▓реНрдбрд┐рдВрдЧ @ рд╣реЛрдо рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреАрди рдлреЛрд▓реНрдбрд┐рдВрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЬрдм рдЖрдк рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдлрд╝рд╛рдЗрд▓ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕рдордп рдЖрдкрдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЧрдгрдирд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ (рдореИрдВ adBlock рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реВрдВ)ред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЬрдм рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЧрдгрдирд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рд╕рдорд╛рдЬ рдореЗрдВ рдЖрдп рдпрд╛ рд▓рд╛рдн рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдпреВрдЯреЛрдкрд┐рдпрди, рд▓реЗрдХрд┐рди рд╕рд╛рдХрд╛рд░ред
рдХреНрдпрд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ?
рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдЬрд┐рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рдХреЗ рдХрд╛рд░реНрдп, рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг, рдЖрджрд┐ред рдФрд░ рдЬрд┐рд╕рдХреА рдЧрдгрдирд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
Amdahl рдХреЗ рдирд┐рдпрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░
, рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрддреА рд╣реИ, рдпрджрд┐ рдХрд╛рд░реНрдп рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЧрдгрдирд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдЕрд░реНрдерд╛рддред рдПрдХ рдиреЛрдб рдХреА рдЧрдгрдирд╛ рджреВрд╕рд░реЗ рдХреЗ рдбреЗрдЯрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ? рдЪрд▓рд┐рдП рдРрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рддреЗ рд╣реИрдВ!
рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг: md5 рд╣реИрд╢ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛
рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо 8 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╡рд░реНрдгреЛрдВ рд╡рд╛рд▓реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ, md5 рд╣реИрд╢ рд╕реЗ 96 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╡рд░реНрдгреЛрдВ рдХреА рд╡рд░реНрдгрдорд╛рд▓рд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреЗрд╡рд▓ рд╡рд┐рд╕реНрддреГрдд рдЦреЛрдЬ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдкрд╛рд╕рд╡рд░реНрдб рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдпрд╛ рдХреБрдЫ рдореБрд╢реНрдХрд┐рд▓ рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ - рдмрд╕ рдЦрд╝рддреНрдоред
рдХрд╛рд░реНрдп рдХрд╛ рд╡рд┐рддрд░рдг
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХрддрдо 96
8 рд╕рдВрднрд╛рд╡рд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рд╣реИрдВред рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рджрд╢рдорд▓рд╡ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ 1 рд╕реЗ 96
8 рддрдХ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рджреЗрдВред рдЕрдм, рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдПрдХ рджрд╢рдорд▓рд╡ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ 96-
from10toN
(
from10toN
) рд╕реЗ рдПрдХ
from10toN
рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
var alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL" + "MNOPQRSTUVWXYZ+/*-\\?=`~!@#$%^&*()_{}[];:'\"|.,<> ", alphabetLength = alphabet.length; function from10toN (number, base) { if (!base || base > alphabetLength) { base = alphabetLength; } if (base < 2) { base = 2; } var result = ''; while (number > 0) { result = alphabet.charAt(number % base) + result; number = Math.floor(number / base); } return result; }
рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдореЗрдВ рдЪрдпрди рдХреЗ рд▓рд┐рдП 400,000 рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЕрдВрддрд░рд╛рд▓ рд╣реЛрдЧрд╛ (Google Chrome рд▓рдЧрднрдЧ 200,000 md5 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ)ред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 18034739475 рдХрд╛рд░реНрдп рд╣реИрдВ - рдХрдИ, рд▓реЗрдХрд┐рди 16 рд╡рд░реНрдгреЛрдВ рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдЙрддрдиреЗ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИрдВ ... рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рдХрд╛рд░реНрдп рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рд╡рд╣ рд╕рдордп рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛ - рд╕рдорд╛рдкреНрдд рд╣реЛред
рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рддрд░реНрдХ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИ - рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рд╣рдо рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрди 1 рд╕реЗ рдПрди 2 рддрдХ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╣рдо md5 рдкрд╛рддреЗ рд╣реИрдВ, рд╣рдо рдорд╛рдирдХ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рд╣реИрд╢ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣реИрд╢ рдореИрдЪ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рднреЗрдЬреЗрдВ, рдЕрдиреНрдпрдерд╛ рдПрдХ рдЦрд╛рд▓реА рд▓рд╛рдЗрди:
EcdcWorker.prototype.calculateSync = function (id, data) { var maxPasswordId = data.max, password, alphabetBase = data.base, hash = data.hash; for (var i = data.min; i <= maxPasswordId; i++) {
рдЧреНрд░рд╛рд╣рдХ рддрд░реНрдХ
1. рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрддрд╛ рд╣реИ, рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИ
2. рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЕрдиреНрдп рдордзреНрдпрд╡рд░реНрддреА рддрд░реНрдХ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ
3. рдХреНрд▓рд╛рдЗрдВрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ
4. рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ (рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ)
5. рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ (рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ) рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдЬреЛ рдкреВрд░реЗ рд╣реЛ рдЧрдП рдереЗ рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдП рдЧрдП - рд╡рд░реНрдХрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпреЗ рдХрд╛рд░реНрдп рднреЗрдЬрддрд╛
6. рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗ рдмрдХрд╛рдпрд╛ рдХрд╛рд░реНрдп рд▓реЗрддрд╛ рд╣реИ (1 рдпрд╛ рдЕрдзрд┐рдХ)
7. рдЧреНрд░рд╛рд╣рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдкреГрд╖реНрда рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)
8. рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреА рдЧрдгрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ
9. рдХрд╛рд░реНрдп рдЧрдгрдирд╛ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдмрдЪрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдкреГрд╖реНрда рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ)
10. рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдорд╛рдзрд╛рди рднреЗрдЬрддрд╛ рд╣реИ (рдФрд░ рдмрд┐рдВрджреБ 6 рд╕реЗ)
рдЬрдмрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЕрдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ (рдЙрд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЕрдиреНрдп рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдЕрд╡рд░реБрджреНрдз рд╣реИрдВред
рд╕рд░реНрд╡рд░ рддрд░реНрдХ
1. рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рддрд╛ рд╣реИ
2. рд╡рд░реНрдХрд░ рд╕реЗ рдПрдХ рдХрд╛рд░реНрдп рдЕрдиреБрд░реЛрдз рдЖрддрд╛ рд╣реИ - рд╕рд░реНрд╡рд░ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рддреЛ рд╡рд╣ рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ
2.1ред рдпрджрд┐ рдХреЛрдИ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИрдВ - рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдп рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ
3. рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛рд░реНрдп рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрддрд╛ рд╣реИ - рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ
3.1ред рд╕рд░реНрд╡рд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдп рднреЗрдЬрддрд╛ рд╣реИ (рдФрд░ рдмрд┐рдВрджреБ 2 рд╕реЗ)
4. рдЬреИрд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рдХреЛ рд╡рд░реНрдХрд░ рд╕реЗ рд╕рд╣реА рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдХрд╛рд░реНрдп рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛
[Workers: EcdcWorker] / \ Tasks: XHR / \ Messages: postMessage / Page: html \ [Server: EcdcServer] ------------ [Browser: EcdcClient] --- [User] | | [Database: Any] [Storage: localStorage]
рдЙрдкрд░реЛрдХреНрдд MD5 Brutfors рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЖрд░реЗрдЦ рдерд╛, рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ ECDC рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд░реЗрдЦ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдореЗрд░реЗ рд╕рд╛рде рдЬреЛ рд╣реБрдЖ рдЙрд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
md5 рд╣реИрд╢ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдкрд┐рдХрд░ рд╕рд░реНрд╡рд░ (рдкрд╣рд▓реА рдмрд╛рд░ рдЖрдкрдХреЛ рд╕рдВрджреЗрд╢ "рдЖрдк рдЕрдирдзрд┐рдХреГрдд рд╣реИрдВред рд▓реЙрдЧрд┐рди"),
рдЖрдк рдХрд┐рд╕реА рднреА рдИрдореЗрд▓ рдпрд╛ рдХрд┐рд╕реА рднреА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдирдХреЗ рдЖрдБрдХрдбрд╝реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧрдгрдирд╛ рдХреА рд░рд╛рд╢рд┐ рдореЗрдВ рдЖрдкрдХрд╛ рдпреЛрдЧрджрд╛рди (md5 рд╣реИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд) ред
рдкрд╛рд╕рд╡рд░реНрдб рдЖрдБрдХрдбрд╝реЗ
рдпрд╣рд╛рдБ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ
рд╣реИрдВ (рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЖрд╡рд╢реНрдпрдХ)ред
рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗрд╡рд▓ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрдХрд░реНрд╕, рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реАрдЬ, JSON, XMLHttpRequest рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк "рдЖрдк md5 рдХреА рдЧрдгрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ" рд╡рд╛рдХреНрдпрд╛рдВрд╢ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЧрдгрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЪреАрдпрд░реНрд╕! рдореИрдВрдиреЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рдХрд╛рдо рдХреЗ рд▓реЙрдЧ рдХреЛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕реА рднреА рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдк рдЕрдкрдиреЗ рдкреГрд╖реНрда рдкрд░ рдПрдХ рдЧрдгрдирд╛ рдлреНрд░реЗрдо рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдХреЛрдб рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЗ рд╕реНрд░реЛрдд рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрджрд░реНрдн
1.
рдкрд╛рд╕рд╡рд░реНрдб рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЙрджрд╛рд╣рд░рдг2.
рдкрд╛рд╕рд╡рд░реНрдб рдЪрдпрди рдЖрдБрдХрдбрд╝реЗ (рдореБрдЦреНрдп рдПрдХ рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИ)
3.
рд╡рд┐рддрд░рд┐рдд рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ4. рд╕рд░реНрд╡рд░ рд╕реНрд░реЛрдд рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдореЗрдВ:
md5-bruteforce-server.js ,
md5- bruteforce -server /рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдЕрдкрдиреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рд╕рд╛рдмрд┐рдд рдХрд░ рджреА рд╣реИ (рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдореИрдВрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ 3-рд╡рд░реНрдг рдкрд╛рд╕рд╡рд░реНрдб рдЪреБрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрдВрднреАрд░рддрд╛ рд╕реЗ!) рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдкрд░реНрдпрд╛рдкреНрдд рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдПрдХ рдХреЗ рд▓рд┐рдП рд╣рдо рдиреЛрдбрд╕реНрдЯрд░ рдХреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред
рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╣реИ? рдХреНрдпрд╛ рдЖрдк рд╡рд┐рдЬреНрдЮрд╛рдкрди рджреЗрдЦрдиреЗ рдФрд░ YouTube рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдЖрд▓реЛрдЪрдирд╛, рд╕реБрдЭрд╛рд╡, рд╕реБрдЭрд╛рд╡ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!