рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рд╣рд╛рдВ, рдЖрдк рдмрд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, PHP рдореЗрдВ рдПрдХ рдХреЗрдВрджреНрд░реАрдХреГрдд рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА, рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдореЗрд░реА рд╕реАрдорд╛рдУрдВ рдиреЗ рдлрд┐рд░ рднреА рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рдмрдирд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реЛрдЧрд╛, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдХреНрдпрд╛ рд╣реИ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдиреЛрдЯреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ, рдФрд░ рдПрдХ рд╡реЙрд▓реЗрдЯ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдПрдВред рдЕрдм, рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
Cryptocurrency, рдпрд╣ рдХреИрд╕рд╛ рд╣реИ?
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рд▓реА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА
рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдбрд┐рдЬрд┐рдЯрд▓ рдореБрджреНрд░рд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдирд┐рдкрдЯрд╛рди рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рд▓реЗрдЦрд╛-рдЬреЛрдЦрд╛ рдПрдХ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА (рдХреЛрдИ рдЖрдВрддрд░рд┐рдХ рдпрд╛ рдмрд╛рд╣рд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдпрд╛ рдЗрд╕рдХрд╛ рдХреЛрдИ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕реНрд╡рдпрдВ рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдордЧреНрд░реА рдпрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд░реВрдк рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдирд┐рдкрдЯрд╛рди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рд╡рд╛рд▓реА рдорд╛рддреНрд░ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЬреЛ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕реВрдЪрдирд╛ рдкреИрдХреЗрдЯ рдХреА рд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдЗрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╕рд┐рд╕реНрдЯрдо рдкрддреЗред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИ:
- рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╢реЗрд╖ рд░рд╛рд╢рд┐ рд╣реИ, рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрдирд╛рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓реЗрдирджреЗрди рднреЗрдЬрддрд╛ рд╣реИред
- рд▓реЗрдирджреЗрди рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред
- рдЦрдирд┐рдХ (рдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╕реНрдерд┐рддрд┐ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрд╢ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдкрд┐рдЫрд▓реЗ 10-30 рд╢реВрдиреНрдп рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП)ред
- рдЬрдм рдХреЛрдИ рд╢рд░реНрдд (рдпрд╛ рд╢рд░реНрддреЗрдВ) рд╣реИрд╢ рдореЗрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЦрдирд┐рдХ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдирдП рдмреНрд▓реЙрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдзрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЦрдирд┐рдХ рдХреЛ рдХрд╛рд░реНрдп рдХреА рддреИрдпрд╛рд░реА рдХреЗ рджреМрд░рд╛рди рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдХрдореАрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рд╢реНрд░рдорд┐рдХ рдХреА рд░рд╛рд╢рд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдХреЗрдВрджреНрд░реАрдХреГрдд рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ PHP рдореЗрдВ рднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд╡реИрд╕рд╛ рд╣реА рджреЛрдмрд╛рд░рд╛ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рд╣рдо рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдкрд╣рд▓реЗ рдиреЛрдЯреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
рд╣рдо рдкреНрд░реВрдлрд╝-рдСрдлрд╝-рд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдбрдмрд▓ рд╣реИрд╢ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рдкрд░ рд╣реИрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рд╣рдо рдХрдИ рдмрд╛рд░ рд╣реИрд╢ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕рд╛ рд▓реЛрдб рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ:
- рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдорд╛рдЗрдирд░ рдкрд░, рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
- рдЬрдм рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдорд╛рдЗрдирд░ рдкрд░ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВ, рддреЛ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрддрд░ (рд╕рд░реНрд╡рд░ рд╕реНрддрд░ рдкрд░) рдкрд░ рдПрдХ рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рднрд╛рд░ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдкреИрдо рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрдИ рдмрд╛рд░ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдирд╛рдо - рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг, рдФрд░ рд╢рд╛рдпрдж рдпрд╛рджрдЧрд╛рд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЖрдпрд╛ - рдлреНрд▓рд╛рдИрдХреЙрдЗрди рддреАрди рдЕрдВрдХреЛрдВ рдХреА рдПрдлрдПрд▓рд╕реА рдореБрджреНрд░рд╛ рдХреЛрдб рдХреЗ рд╕рд╛рдеред
рдбреЗрдЯрд╛рдмреЗрд╕ - рдореИрдВ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдк, рдкреАрдбреАрдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред
рдХреНрд░рд┐рдкреНрдЯреЛ-рд╡реЙрд▓реЗрдЯ - GUID рдФрд░ mt_rand рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ POSIX рд╕рдордп рдХреЛ рдмреАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИрд╢ рдЪреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВ? - рд╣рд╛рдВ, рдЗрд╕реАрд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореГрдд) рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдПрдВрдЯреНрд░реЛрдкреА рдХреЗ рдПрдХ рдкреБрд░рд╛рдиреЗ (рдУрдкрди рд╕реЛрд░реНрд╕) рдорд╛рдЗрдирд░ рд╕реЗ рдХреЛрдб рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдореЗрд░реЗ рджреЛрд╕реНрдд, рдирд┐рдХрд┐рддрд╛ред
рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдмрдирд╛рдИ рд╣реИред рдХреНрдпрд╛ рдХреБрдЫ рдФрд░ рд╣реИ?рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЙрдирдХреА рд╕рднреА рд░рдЪрдирд╛рдПрдВ (рдЬреЛ рдХрднреА-рдХрднреА рдореИрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ), рдЖрдк рдЙрдирдХреЗ
VKontakte рд╕рдореВрд╣ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡реЗ рднреА рдХрд╛рдо рдЖрдПрдВрдЧреЗред
рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!
рдЖрдЗрдП рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рдЕрдкрдиреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рд░реВрдкрд░реЗрдЦрд╛ рдмрдирд╛рдХрд░ред рдЖрдЗрдП рд╣рдорд╛рд░реА рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдкреАрдЖрдИ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВред рдФрд░ рдлреНрд░реЗрдо рдЕрднреА рддрдХ рдЗрддрдирд╛ рдЦрд╛рд▓реА рджрд┐рдЦрддрд╛ рд╣реИред
<?php function checkHash ($hash, $exp) // $hash - , $exp - . Entropy Miner, . { $sum = 0;
рдпрд╣ рд╣рдорд╛рд░реЗ рдЪрдорддреНрдХрд╛рд░ рдХрд╛ рдврд╛рдВрдЪрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЕрдкрдиреЗ рдмрдЯреБрдП рдХреЗ рд▓рд┐рдП GUID рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдФрд░ рдкреАрдврд╝реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рддреБрд░рдВрдд рдПрдХ рдЦрд╛рд▓реА рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд╛ рдмрдирд╛рдИ рдФрд░ Google рдореЗрдВ рдПрдХ GUID рдкреАрдврд╝реА рдлрд╝рдВрдХреНрд╢рди рднреА рдкрд╛рдпрд╛ред рдмреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред рдореБрдЭреЗ рд╕рд┐рд░реНрдл рдмреАрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп GUID рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдорд┐рд▓рд╛ред
function make_seed () // PHP { list ($usec, $sec) = explode (' ', microtime ()); return $sec + $usec * 1000000; } mt_srand (make_seed ());
рдареАрдХред рдФрд░ рдмрдЯреБрдП рдХреЗ рд▓рд┐рдП GUID рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ (рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕реНрдЯрдм рднреА):
public function register () // { } protected function genGUID4 () // Google { return sprintf ('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand (0, 0xffff), mt_rand (0, 0xffff), mt_rand (0, 0xffff), mt_rand (0, 0x0fff) | 0x4000, mt_rand (0, 0x3fff) | 0x8000, mt_rand (0, 0xffff), mt_rand (0, 0xffff), mt_rand (0, 0xffff));
рдЪреВрдВрдХрд┐ рд╣рдо рд╕рдм рдХреБрдЫ рдЧреБрдордирд╛рдо рд░реВрдк рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЖрдИрдкреА рдпрд╛ рдИ-рдореЗрд▓ рдХреЛ рд╕реНрдЯреЛрд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВред рд╣рдо рдХрд╛рдлреА рд╣реЛрдВрдЧреЗред ~ 25 рдорд┐рдирдЯ рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдкрдВрдЬреАрдХрд░рдг рд╕рдорд╛рд░реЛрд╣ рд▓рд┐рдЦрд╛ред рдХреЗрд╡рд▓ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡реЙрд▓реЗрдЯ рд▓реМрдЯрд╛рдПрдЧрд╛ред
public function register ($password) // $password - { if ($this->db)
рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпрд╛ рд╡рд╣ рд░реЗрдЦрд╛ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИред
рдирд┐рд╖реНрдкрдХреНрд╖ рд▓реЛрдЧреЛрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╕рдВрджреЗрд╢редрдпрджрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ (рдЬрд┐рд╕ рдкрд░, рд╢рд╛рдпрдж, рдпрд╣ рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рд╕реНрдерд┐рдд рд╣реЛрдЧреА), рдФрд░ рд╡реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреБрдЫ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
"рд╣реЗрд▓реЛ, рдХреНрдпрд╛ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?" рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рдордгрд┐ рд░рдЦреА, рдФрд░ рдЕрдЪрд╛рдирдХ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЦреЛ рджрд┐рдпрд╛, рдХреГрдкрдпрд╛ рдорджрдж рдХрд░реЗрдВ рдФрд░ рдЖрдк рдЕрдЪреНрдЫреЗ рд╣реЛрдВрдЧреЗ тАЭ- рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдХрд╛ рд╕рд╛рд░ рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рдЦреЛрджреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рднрдВрдбрд╛рд░рдг рд╣реИред рдХреЛрдИ рднреА рдпрд╣ рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЦрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреЛрдИ рднреА рд╣рдорд▓рд╛рд╡рд░ рдкреАрдбрд╝рд┐рдд рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рднреА рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдзрди рдХреА рдЪреЛрд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИ ! рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡реНрдпрдХреНрддрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд╛рддреЗ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИ, рдордирд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдкреИрд╕реЗ рдЦреЛ рджрд┐рдП рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЦрд╛рддреЗ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдм рдкрд╛рд╕рд╡рд░реНрдб рд░рд┐рдХрд╡рд░реА рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдЗрдирдкреБрдЯ рд╣реИ, рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ:
рд╣рд╛рдБ, рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред (рдЪрд▓реЛ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ 12345)рд╣рдо рд╡реЙрд▓реЗрдЯ рдПрдбреНрд░реЗрд╕ рдЬреЗрдирд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ $ рд╡реЙрд▓реЗрдЯрдЖрдИрдб рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ - рд╣рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓рддрд╛ рд╣реИ: FLC @ c1cbe61d-a19d-4c82-ba17-3a577df0aeb5 (рдпрд╣ GUID рджреВрд╕рд░реА рд╕рд╛рдЗрдЯ рд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдлрд┐рд░ рдореИрдВрдиреЗ рдЗрд╕рдореЗрдВ FLC @ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдЬреЛрдбрд╝рд╛)ред
рд╣рдо рд╕рд╛рджрд╛-рдкрд╛рда рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред 0087196442FLC @ c1cbe61d-a19d-4c82: рдкрд╣рд▓реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд (-ba17-3a577df0aeb59ee77779db5a44ef3f60044fcb0e1170218e642cb9adc0789ddd08871ad95c7e1d3b1391c6c79774d319b5141bd3b13b717c3d389206ede659cb280949feac66 , рдХрдИ рдкрддреНрд░ рд╣реИрд░рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред
рджреВрд╕рд░реА рдмрд╛рд░реА рдореЗрдВ, рд╣реИрд╢ рдПрдХ рд╕реМ рдкреНрд░рддрд┐рд╢рдд HMAC рдмрди рдЬрд╛рдПрдЧрд╛: 5e43cb404c81efeb35162e5bba0766f20b340fbcccc66fd5f7a6a1a8a3a8ccd43fc6384ac53f939acca4378681b2b8b8178b178bb172bb404cb404cb404cb404a2bb172bb172bb2b2bb2bb2b2bb2bb2b2bb2bb2bb2bb2bb2bb2bb2bb2 рдкрд░ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдПред
рд╣рдо рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдо рд╡реЙрд▓реЗрдЯ рдирдВрдмрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирд╣реАрдВ, рдЬреБрдбрд╝рд╛ рдирд╣реАрдВредрдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреБрдЫ рднреА рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, FALSE рд▓реМрдЯрд╛рдПрдВред
рдпрд╣ рдХреИрд╕реЗ рдПрдХ рдкрд░рд┐рд╖реНрдХреГрдд рдкрдВрдЬреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИред рдФрд░ рдХреЛрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ - рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ред
рд╣рдо рдЕрдзрд┐рдХ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд░реЗрдВрдЧреЗред рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рд╛рде, рд╕реНрдерд┐рддрд┐ рд╕рд░рд▓ рд╣реИред рд╣рдо рдПрдХ рдЦрд╛рддреЗ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИрдВ, рдФрд░ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдкрд░рд┐рдЪрд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рд╣реИрд╢ рдЬреЗрдирд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЬрд╛рдирддреЗ рд╣реБрдПред рдлрд┐рд░ рд╣рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдбреЗрдЯрд╛ рд╕рд╣реА рд╣реИ, рддреЛ рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдЗрди рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡рд░ рдФрд░ рдорд╛рдЗрдирд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред
рдЦреБрдж рд╕реЗредрдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдкрд░ PHP рдФрд░ php.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ PHP рдХреЗ рдмреАрдЪ рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╣реИред рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ "рдХреЗрдХ" рдореЗрдВ рдПрдХ рджреВрд╕рд░рд╛ рдХреЗрдХ рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЦрдирди, рдмреНрд▓реЙрдХрдЪреЗрди рдФрд░ рд▓реЗрдирджреЗрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рджреЗрдЦреЗрдВрдЧреЗред
рдПрдХ рдФрд░ 15-25 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рдорд╛рд░реЛрд╣ рддреИрдпрд╛рд░ рдерд╛ред рдЗрд╕ рдХреЛрдб рдХреЛ рдиреАрдЪреЗ рджреЗрдЦреЗрдВ:
public function login ($walletId, $password) // { if ($this->db)
рдпрд╣ рдХреЛрдб рд▓рдЧрднрдЧ рдкрдВрдЬреАрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рд╡рд░реНрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИред
postcondition
рдЗрд╕ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд┐рдП:
- рд╣рдо рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ "рдХреНрдпрд╛ рдпрд╣ рдХреЗрдВрджреНрд░реАрдХреГрдд рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ PHP рдореЗрдВ рднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ?"
- рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдиреЛрдЯреНрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА
- рдХреНрд░рд┐рдкреНрдЯреЛ рдЦрд╛рддреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
рдФрд░ рдЕрдм, рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрдзрд╛ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдерд╛:
рдкрд░реНрджреЗ рдХреЗ рдиреАрдЪреЗрдпрд╣ рд▓реЗрдЦ рд▓рдЧрднрдЧ 4-5 рдШрдВрдЯреЗ (рд╕рднреА рд╕реВрд░реНрдпрд╛рд╕реНрдд рдФрд░ рд╢рд╛рдо) рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдореИрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЬрдм рдмрд╛рдд рд╣рдмреНрд░рд╣рд╛рдм рдкрд░ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрддреА рд╣реИ, рддреЛ рдореЗрд░реЗ рд╕рдкрдиреЗ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рджреВрд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рджрд░рдЕрд╕рд▓, OOP рдХреА рд╕рд░рд▓ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдХрд╛рд░рдг, MySQLi, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, mysql_ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдерд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдм PHP рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВред
рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ:
- рдЪрд▓реЛ рдЦрдирди рдХрд░рддреЗ рд╣реИрдВред
- рдЖрдЗрдП рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рд▓реЗрдирджреЗрди рдФрд░ рдмреНрд▓реЙрдХ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред
- рд╣рдо рд▓реЗрдирджреЗрди рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╣рдо рдЕрдкреНрд░рдпреБрдХреНрдд рдмреНрд▓реЙрдХ рд╡рд░реНрдЧ рдХреЛ рдПрдХ рд╕рдордЭ рджреЗрдВрдЧреЗред
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдлрд┐рд░ рдорд┐рд▓рддреЗ рд╣реИрдВ! рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИ - рдореИрдВ рдЖрд▓реЛрдЪрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред