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}$$
рд╣рд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг
рдорд╛рди рд▓реАрдЬрд┐рдП Base64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ SGk=ред рдЗрд╕рдХреЗ рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╡реИрд▓реНрдпреВ рдмрдирддреА рд╣реИ тАФ S=18, G=6, k=36, рдФрд░ '=' рдкреИрдбрд┐рдВрдЧ рд╣реИред рдмрд╛рдЗрдирд░реА рдореЗрдВ: 010010 000110 100100 тЖТ рдХреБрд▓ 24 рдмрд┐рдЯ, рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░ рдореЗрдВ рдкреИрдбрд┐рдВрдЧ рд╣реЛрдиреЗ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╕рд┐рд░реНрдлрд╝ 2 рдмрд╛рдЗрдЯреНрд╕ рд╣реА рдорд╛рдиреНрдп рд╣реИрдВ: 01001000 (72 = 'H') рдФрд░ 01101001 (105 = 'i')ред рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ Hiред
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"
- рдЗрдВрдбреЗрдХреНрд╕: T=19, W=22, F=5, u=46ред
- 6-рдмрд┐рдЯ рд╕рдореВрд╣:
010011 010110 000101 101110ред - рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдкреБрдирдГ рд╕рдореВрд╣реАрдХреГрдд рдХрд░реЗрдВ:
01001101 01100001 01101110= 77, 97, 110ред - ASCII 77, 97, 110 = M, a, nред \(n=4\) рдХреЗ рд╕рд╛рде: \(\lfloor 24/8 \rfloor = 3\) рдмрд╛рдЗрдЯреНрд╕ тАФ Manред
рдЙрджрд╛рд╣рд░рдг 2 тАФ рдПрдХ '=' рдкреИрдб: "SGVsbG8=" тЖТ "Hello"
- рдкреИрдбрд┐рдВрдЧ рдЫреЛрдбрд╝реЗрдВ: 7 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд░реНрдг S,G,V,s,b,G,8ред
- рдЗрдВрдбреЗрдХреНрд╕: S=18, G=6, V=21, s=44, b=27, G=6, 8=60ред
- рдмрд┐рдЯреНрд╕:
010010 000110 010101 101100 011011 000110 111100(рдкреИрдб рд╕рдореВрд╣ рд╕реЗ рдЕрдиреБрдЧрд╛рдореА 2 рдмрд┐рдЯреНрд╕ рд╢реВрдиреНрдп рднрд░рд╛рд╡ рд╣реИрдВ рдФрд░ рдЫреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ)ред - рдмрд╛рдЗрдЯреНрд╕:
01001000 01100101 01101100 01101100 01101111= 72, 101, 108, 108, 111 = H, e, l, l, oред - \(n=7\) рдХреЗ рд╕рд╛рде: \(\lfloor 42/8 \rfloor = 5\) рдмрд╛рдЗрдЯреНрд╕ тАФ Helloред
рдЙрджрд╛рд╣рд░рдг 3 тАФ рджреЛ '==' рдкреИрдб: "aGk="... рдФрд░ "TQ==" тЖТ "M"
- рдкреИрдбрд┐рдВрдЧ рдЫреЛрдбрд╝реЗрдВ: 2 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд░реНрдг T, Qред
- рдЗрдВрдбреЗрдХреНрд╕: T=19, Q=16ред
- рдмрд┐рдЯреНрд╕:
010011 010000; рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ 8 рдмрд┐рдЯреНрд╕ рд░рдЦреЗрдВ, рд╢реЗрд╖ 4 рд╢реВрдиреНрдп рднрд░рд╛рд╡ рд╣реИрдВред - рдмрд╛рдЗрдЯ:
01001101= 77 = Mред - \(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 рдХрд╛ рдЧреБрдгрдЬ рдереАред