MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ тЖТ

рдЧрдгрдирд╛ рджрд░реНрдЬ рдХрд░реЗрдВ

рд╕реВрддреНрд░ (рдлреЙрд░реНрдореВрд▓рд╛)

рд╡рд┐рдЬреНрдЮрд╛рдкрди

рдкрд░рд┐рдгрд╛рдо

рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ
Man
рдбрд┐рдХреЛрдб рд╣реБрдП рдмрд╛рдЗрдЯреНрд╕ 3
рдЗрдирдкреБрдЯ рдЕрдХреНрд╖рд░ (рдЦрд╛рд▓реА рдЬрдЧрд╣ рдЫреЛрдбрд╝рдХрд░) 4
рдкреИрдбрд┐рдВрдЧ рдЕрдХреНрд╖рд░ 0

Base64 рдбрд┐рдХреЛрдбрд░ рдХреНрдпрд╛ рд╣реИ?

Base64 рдПрдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЛ 64 рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп ASCII рдЕрдХреНрд╖рд░реЛрдВ (AтАУZ, aтАУz, 0тАУ9, + рдФрд░ /) рдХреЗ рдЬрд╝рд░рд┐рдП рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ HTML рдореЗрдВ рдЗрдореЗрдЬ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ, JSON рдпрд╛ URL рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдФрд░ рдИрдореЗрд▓ рдЕрдЯреИрдЪрдореЗрдВрдЯ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЦреВрдм рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдбрд┐рдХреЛрдбрд░ рдЗрд╕ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЙрд▓рдЯ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА Base64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╡рд╛рдкрд╕ рдЙрд╕рдХреЗ рдореВрд▓ рд╕рд╛рджреЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ

рдЕрдкрдиреА Base64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЗрдирдкреБрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ рдпрд╛ рдЯрд╛рдЗрдк рдХрд░реЗрдВ рдФрд░ рд╕рдмрдорд┐рдЯ рдХрд░ рджреЗрдВред рдЯреВрд▓ рдкрд╣рд▓реЗ рд╕рд╛рд░реА рдЦрд╛рд▓реА рдЬрдЧрд╣ (whitespace) рд╣рдЯрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИ тАФ рд╕рд╛рде рд╣реА рдбрд┐рдХреЛрдб рд╣реБрдП рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЗрдирдкреБрдЯ рдореЗрдВ рдореМрдЬреВрдж рдЕрдХреНрд╖рд░реЛрдВ рдХреА рдЧрд┐рдирддреА рдФрд░ рдХрд┐рддрдиреЗ рдкреИрдбрд┐рдВрдЧ рдЕрдХреНрд╖рд░ ('=') рдереЗ, рдпрд╣ рднреА рдмрддрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдЗрдирдкреБрдЯ рдореЗрдВ Base64 рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕реЗ рдмрд╛рд╣рд░ рдХреЗ рдЕрдХреНрд╖рд░ рд╣реБрдП, рддреЛ рдЖрдкрдХреЛ "рдЕрдорд╛рдиреНрдп" (invalid) рдХрд╛ рд╕рдВрджреЗрд╢ рджрд┐рдЦреЗрдЧрд╛ред

рдлрд╝реЙрд░реНрдореВрд▓рд╛ рд╕рдордЭреЗрдВ

рд╣рд░ Base64 рдЕрдХреНрд╖рд░ 6 рдмрд┐рдЯ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЪрд╛рд░ Base64 рдЕрдХреНрд╖рд░ рдорд┐рд▓рдХрд░ \(4 \times 6 = 24\) рдмрд┐рдЯ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдареАрдХ-рдареАрдХ рддреАрди 8-рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдмрдБрдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдЬрдм рдореВрд▓ рдбреЗрдЯрд╛ рдХреА рд▓рдВрдмрд╛рдИ 3 рдХрд╛ рдЧреБрдгрдЬ рдирд╣реАрдВ рд╣реЛрддреА, рддрдм рдПрдХ рдпрд╛ рджреЛ '=' рдкреИрдбрд┐рдВрдЧ рдЕрдХреНрд╖рд░ рдЬреЛрдбрд╝ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдПрдиреНрдХреЛрдб рдХреА рдЧрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рд╣рдореЗрд╢рд╛ 4 рдХрд╛ рдЧреБрдгрдЬ рд░рд╣реЗред рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдкреИрдбрд┐рдВрдЧ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдмрдЪреА рд╣реБрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд┐рдЯреНрд╕ рдЫреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИрдВред

$$\text{Bytes} = \left\lfloor \frac{6 \times \text{Base64 chars (no padding)}}{8} \right\rfloor$$ $$\begin{gathered} \text{Bytes} = \left\lfloor \frac{6N}{8} \right\rfloor \\[1.5em] \text{where}\quad \left\{ \begin{aligned} N &= \text{valid chars of } \text{Base64 Input} \\ &\quad \text{(whitespace and } = \text{ removed)} \\ \text{char} &\to 6\text{ bits},\; 8\text{ bits} \to 1\text{ byte} \end{aligned} \right. \end{gathered}$$
рдкреНрд░рддреНрдпреЗрдХ 6 рдмрд┐рдЯ рдХреЗ рдЪрд╛рд░ Base64 рдЕрдХреНрд╖рд░ рддреАрди 8-рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдкреБрдирдГ рд╕рдореВрд╣рд┐рдд
рдЪрд╛рд░ Base64 рдЕрдХреНрд╖рд░ 24 рдмрд┐рдЯ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рддреАрди рдбрд┐рдХреЛрдбреЗрдб рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╕рдореВрд╣рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рд╣рд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг

рдорд╛рди рд▓реАрдЬрд┐рдП Base64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ SGk=ред рдЗрд╕рдХреЗ рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╡реИрд▓реНрдпреВ рдмрдирддреА рд╣реИ тАФ S=18, G=6, k=36, рдФрд░ '=' рдкреИрдбрд┐рдВрдЧ рд╣реИред рдмрд╛рдЗрдирд░реА рдореЗрдВ: 010010 000110 100100 тЖТ рдХреБрд▓ 24 рдмрд┐рдЯ, рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░ рдореЗрдВ рдкреИрдбрд┐рдВрдЧ рд╣реЛрдиреЗ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╕рд┐рд░реНрдлрд╝ 2 рдмрд╛рдЗрдЯреНрд╕ рд╣реА рдорд╛рдиреНрдп рд╣реИрдВ: 01001000 (72 = 'H') рдФрд░ 01101001 (105 = 'i')ред рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ Hiред

рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬреЛ Base64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдмрд┐рдЯреНрд╕ рдХреЗ рдЬрд╝рд░рд┐рдП рд╕рд╛рджреЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдмрджрд▓рддреА рд╣реИ
рдбрд┐рдХреЛрдбрд░ Base64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╡рд╛рдкрд╕ рдореВрд▓ рд╕рд╛рджреЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

Base64 рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕рдВрджрд░реНрдн

рдорд╛рдирдХ Base64 (RFC 4648) рдкреНрд░рддреНрдпреЗрдХ 6-рдмрд┐рдЯ рдорд╛рди (0тАУ63) рдХреЛ 64 рдореБрджреНрд░рдг рдпреЛрдЧреНрдп ASCII рд╡рд░реНрдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдореИрдк рдХрд░рддрд╛ рд╣реИред рдПрдХ рдбрд┐рдХреЛрдбрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЗрд╕рдХреЗ 6-рдмрд┐рдЯ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдмрд┐рдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ 8-рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдкреБрдирдГ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдкреВрд░реНрдг рд╡рд░реНрдгрдорд╛рд▓рд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИред

рдЗрдВрдбреЗрдХреНрд╕ рд╡рд░реНрдг рдЗрдВрдбреЗрдХреНрд╕ рд╡рд░реНрдг рдЗрдВрдбреЗрдХреНрд╕ рд╡рд░реНрдг рдЗрдВрдбреЗрдХреНрд╕ рд╡рд░реНрдг
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

65рд╡рд╛рдВ рдкреНрд░рддреАрдХ, = (рдмрд░рд╛рдмрд░), рдбреЗрдЯрд╛ рд╡рд░реНрдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкреИрдбрд┐рдВрдЧ рдорд╛рд░реНрдХрд░ рд╣реИ рдЬреЛ рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреБрд▓ рд▓рдВрдмрд╛рдИ рд╣рдореЗрд╢рд╛ 4 рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЧреБрдгрдХ рд╣реЛред рдПрдХ = рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо 4-рд╡рд░реНрдг рд╕рдореВрд╣ 2 рдмрд╛рдЗрдЯреНрд╕ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ; рджреЛ == рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ 1 рдмрд╛рдЗрдЯ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИред рдПрдХ рдбрд┐рдХреЛрдбрд░ рдкреИрдбрд┐рдВрдЧ рдФрд░ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╣рд┐рдд рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реВрдиреНрдп рдмрд┐рдЯреНрд╕ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

рдЕрдзрд┐рдХ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг

рдкреНрд░рддреНрдпреЗрдХ Base64 рд╡рд░реНрдг 6 рдмрд┐рдЯреНрд╕ рдХрд╛ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИред рдЪрд╛рд░ рд╡рд░реНрдг (24 рдмрд┐рдЯреНрд╕) рдмрд┐рд▓реНрдХреБрд▓ 3 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдбрд┐рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВ; рдЖрдВрд╢рд┐рдХ рд╕рдореВрд╣ рдкреИрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдбрд┐рдХреЛрдбрд░ рдХреЛ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рдХрд┐рддрдиреЗ рдмрд╛рдЗрдЯреНрд╕ рд░рдЦрдиреЗ рд╣реИрдВред рдмрд╛рдЗрдЯ рдЧрдгрдирд╛ \(\text{рдмрд╛рдЗрдЯреНрд╕} = \left\lfloor \frac{6 \times n}{8} \right\rfloor\) рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИ, рдЬрд╣рд╛рдВ \(n\) рд╡рд╛рд╕реНрддрд╡рд┐рдХ (рдЧреИрд░-рдкреИрдбрд┐рдВрдЧ) рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг 1 тАФ рдХреЛрдИ рдкреИрдбрд┐рдВрдЧ рдирд╣реАрдВ: "TWFu" тЖТ "Man"

  1. рдЗрдВрдбреЗрдХреНрд╕: T=19, W=22, F=5, u=46ред
  2. 6-рдмрд┐рдЯ рд╕рдореВрд╣: 010011 010110 000101 101110ред
  3. рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдкреБрдирдГ рд╕рдореВрд╣реАрдХреГрдд рдХрд░реЗрдВ: 01001101 01100001 01101110 = 77, 97, 110ред
  4. ASCII 77, 97, 110 = M, a, nред \(n=4\) рдХреЗ рд╕рд╛рде: \(\lfloor 24/8 \rfloor = 3\) рдмрд╛рдЗрдЯреНрд╕ тАФ Manред

рдЙрджрд╛рд╣рд░рдг 2 тАФ рдПрдХ '=' рдкреИрдб: "SGVsbG8=" тЖТ "Hello"

  1. рдкреИрдбрд┐рдВрдЧ рдЫреЛрдбрд╝реЗрдВ: 7 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд░реНрдг S,G,V,s,b,G,8ред
  2. рдЗрдВрдбреЗрдХреНрд╕: S=18, G=6, V=21, s=44, b=27, G=6, 8=60ред
  3. рдмрд┐рдЯреНрд╕: 010010 000110 010101 101100 011011 000110 111100 (рдкреИрдб рд╕рдореВрд╣ рд╕реЗ рдЕрдиреБрдЧрд╛рдореА 2 рдмрд┐рдЯреНрд╕ рд╢реВрдиреНрдп рднрд░рд╛рд╡ рд╣реИрдВ рдФрд░ рдЫреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ)ред
  4. рдмрд╛рдЗрдЯреНрд╕: 01001000 01100101 01101100 01101100 01101111 = 72, 101, 108, 108, 111 = H, e, l, l, oред
  5. \(n=7\) рдХреЗ рд╕рд╛рде: \(\lfloor 42/8 \rfloor = 5\) рдмрд╛рдЗрдЯреНрд╕ тАФ Helloред

рдЙрджрд╛рд╣рд░рдг 3 тАФ рджреЛ '==' рдкреИрдб: "aGk="... рдФрд░ "TQ==" тЖТ "M"

  1. рдкреИрдбрд┐рдВрдЧ рдЫреЛрдбрд╝реЗрдВ: 2 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд░реНрдг T, Qред
  2. рдЗрдВрдбреЗрдХреНрд╕: T=19, Q=16ред
  3. рдмрд┐рдЯреНрд╕: 010011 010000; рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ 8 рдмрд┐рдЯреНрд╕ рд░рдЦреЗрдВ, рд╢реЗрд╖ 4 рд╢реВрдиреНрдп рднрд░рд╛рд╡ рд╣реИрдВред
  4. рдмрд╛рдЗрдЯ: 01001101 = 77 = Mред
  5. \(n=2\) рдХреЗ рд╕рд╛рде: \(\lfloor 12/8 \rfloor = 1\) рдмрд╛рдЗрдЯ тАФ Mред

рджреВрд╕рд░реА рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкрд╛рда рд╕реЗ рдпреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, Base64 рдПрдиреНрдХреЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдореБрдЦреНрдп рд╢рд░реНрддреЗрдВ

Base64 рд╡рд░реНрдгрдорд╛рд▓рд╛
64 рдореБрджреНрд░рдг рдпреЛрдЧреНрдп рд╡рд░реНрдгреЛрдВ рдХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ (AтАУZ, aтАУz, 0тАУ9, + рдФрд░ /) рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг 0 рд╕реЗ 63 рддрдХ 6-рдмрд┐рдЯ рдорд╛рди рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИред
рдкреИрдбрд┐рдВрдЧ ('=')
рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдмрд░рд╛рдмрд░ рдЪрд┐рдиреНрд╣ рддрд╛рдХрд┐ рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ 4 рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЧреБрдгрдХ рд╣реЛред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ; рдПрдХ '=' рдЕрдВрддрд┐рдо 2-рдмрд╛рдЗрдЯ рд╕рдореВрд╣ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ '==' рдЕрдВрддрд┐рдо 1-рдмрд╛рдЗрдЯ рд╕рдореВрд╣ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╕реЗрдХреНрд╕рдЯреЗрдЯ (6 рдмрд┐рдЯреНрд╕)
6 рдмрд┐рдЯреНрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣ тАФ рдпрд╣ рдЗрдХрд╛рдИ рд╣реИ рдЬреЛ рдПрдХ рдПрдХрд▓ Base64 рд╡рд░реНрдг рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИред рдЪрд╛рд░ рд╕реЗрдХреНрд╕рдЯреЗрдЯреНрд╕ (24 рдмрд┐рдЯреНрд╕) рдмрд┐рд▓реНрдХреБрд▓ рддреАрди рдСрдХреНрдЯреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдСрдХреНрдЯреЗрдЯ / рдмрд╛рдЗрдЯ (8 рдмрд┐рдЯреНрд╕)
рдПрдХ 8-рдмрд┐рдЯ рдЗрдХрд╛рдИ, рдбрд┐рдХреЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рдмрд╛рдЗрдЯ рдХрд╛ рдорд╛рдирдХ рдЖрдХрд╛рд░ред Base64 рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╕реЗрдХреНрд╕рдЯреЗрдЯреНрд╕ рдХреЛ рдСрдХреНрдЯреЗрдЯреНрд╕ рдореЗрдВ рд╡рд╛рдкрд╕ рдкреБрдирдГ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдЗрдирд░реА рд╕реЗ рдкрд╛рда рдХрдирд╡рд░реНрдЯрд░ рдмрд┐рдЯ рджрд░ рдмрд┐рдЯ рдЪрд┐рддреНрд░рд┐рдд рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рд╕реНрдЯреНрд░рд┐рдкрд┐рдВрдЧ
рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдкреЗрд╕, рдЯреИрдм рдФрд░ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдХреЛ рд╣рдЯрд╛рдирд╛ред рдХрдИ рд╕рд┐рд╕реНрдЯрдо рд▓рдВрдмреЗ Base64 рдореЗрдВ рдирдИ рд▓рд╛рдЗрдиреЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ PEM рдкреНрд░рдорд╛рдгрдкрддреНрд░, рдИрдореЗрд▓ MIME); рдПрдХ рдордЬрдмреВрдд рдбрд┐рдХреЛрдбрд░ рдЗрд╕ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИред
URL-рд╕реБрд░рдХреНрд╖рд┐рдд Base64
рдПрдХ рд╡реЗрд░рд┐рдПрдВрдЯ (RFC 4648 ┬з5) рдЬреЛ + рдХреЛ - рд╕реЗ рдФрд░ / рдХреЛ _ рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ URL рдФрд░ рдлрд╛рдЗрд▓рдирд╛рдореЛрдВ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛред рдкреИрдбрд┐рдВрдЧ рдХреЛ рднреА рдЕрдХреНрд╕рд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдорд╛рдирдХ рдбрд┐рдХреЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдРрд╕реЗ рд╡рд░реНрдгреЛрдВ рдХреЛ + рдФрд░ / рдореЗрдВ рд╡рд╛рдкрд╕ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ; рдЖрд╕рдкрд╛рд╕ рдХреЗ URL рдХреЗ рд▓рд┐рдП URL рдПрдиреНрдХреЛрдб / рдбрд┐рдХреЛрдб рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рджреЗрдЦреЗрдВред

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓

рдХреНрдпрд╛ рдореЗрд░рд╛ рдбреЗрдЯрд╛ рдХрд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЪрд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдЗрдирдкреБрдЯ рд╕рд╣реЗрдЬрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ред рдлрд┐рд░ рднреА, рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдпрд╛ рдЧреЛрдкрдиреАрдп рдЬрд╛рдирдХрд╛рд░реА рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВред

рдмрд╛рдЗрдЯ рдЧрд┐рдирддреА 4 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛрддреА? рдмрд╛рдЗрдЯ рдЧрд┐рдирддреА рдбрд┐рдХреЛрдб рд╣реБрдП рдЖрдЙрдЯрдкреБрдЯ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╣реЛрддреА рд╣реИ, рди рдХрд┐ рдЗрдирдкреБрдЯ рдЕрдХреНрд╖рд░реЛрдВ рдХреАред рд╣рд░ 4 рдЗрдирдкреБрдЯ рдЕрдХреНрд╖рд░ рдЬрд╝реНрдпрд╛рджрд╛ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ 3 рдЖрдЙрдЯрдкреБрдЯ рдмрд╛рдЗрдЯреНрд╕ рдмрдирддреЗ рд╣реИрдВред

рдкреИрдбрд┐рдВрдЧ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдПрдХ '=' рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдЦрд┐рд░реА рд╕рдореВрд╣ рд╕реЗ 2 рдмрд╛рдЗрдЯреНрд╕ рдмрдиреЗ; рджреЛ '=' рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрд╕рд╕реЗ рд╕рд┐рд░реНрдлрд╝ 1 рдмрд╛рдЗрдЯ рдмрдирд╛ред рдХреЛрдИ рдкреИрдбрд┐рдВрдЧ рди рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреА рд▓рдВрдмрд╛рдИ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 3 рдХрд╛ рдЧреБрдгрдЬ рдереАред

рдЕрдВрддрд┐рдо рдЕрдкрдбреЗрдЯ: