mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-03-11 06:43:54 +00:00
inline the actual base32 alphabet we use
This commit is contained in:
parent
c0a8be5843
commit
6dc6d6f39f
@ -244,9 +244,9 @@ When Bob's client issues HTTP requests to Alice's storage node it includes the *
|
|||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Foolscap TubIDs are 20 bytes (SHA1 digest of the certificate).
|
Foolscap TubIDs are 20 bytes (SHA1 digest of the certificate).
|
||||||
They are encoded with Base32 for a length of 32 bytes.
|
They are encoded with `Base32_` for a length of 32 bytes.
|
||||||
SPKI information discussed here is 32 bytes (SHA256 digest).
|
SPKI information discussed here is 32 bytes (SHA256 digest).
|
||||||
They would be encoded in Base32 for a length of 52 bytes.
|
They would be encoded in `Base32`_ for a length of 52 bytes.
|
||||||
`unpadded base64url`_ provides a more compact encoding of the information while remaining URL-compatible.
|
`unpadded base64url`_ provides a more compact encoding of the information while remaining URL-compatible.
|
||||||
This would encode the SPKI information for a length of merely 43 bytes.
|
This would encode the SPKI information for a length of merely 43 bytes.
|
||||||
SHA1,
|
SHA1,
|
||||||
@ -336,6 +336,100 @@ and shares.
|
|||||||
A particular resource is addressed by the HTTP request path.
|
A particular resource is addressed by the HTTP request path.
|
||||||
Details about the interface are encoded in the HTTP message body.
|
Details about the interface are encoded in the HTTP message body.
|
||||||
|
|
||||||
|
String Encoding
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. _Base32:
|
||||||
|
|
||||||
|
Where the specification refers to Base32 the meaning is *unpadded* Base32 encoding as specified by `RFC 4648`_ using a *lowercase variation* of the alphabet from Section 6.
|
||||||
|
|
||||||
|
That is, the alphabet is:
|
||||||
|
|
||||||
|
.. list-table:: Base32 Alphabet
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Value
|
||||||
|
- Encoding
|
||||||
|
- Value
|
||||||
|
- Encoding
|
||||||
|
- Value
|
||||||
|
- Encoding
|
||||||
|
- Value
|
||||||
|
- Encoding
|
||||||
|
|
||||||
|
* - 0
|
||||||
|
- a
|
||||||
|
- 9
|
||||||
|
- j
|
||||||
|
- 18
|
||||||
|
- s
|
||||||
|
- 27
|
||||||
|
- 3
|
||||||
|
* - 1
|
||||||
|
- b
|
||||||
|
- 10
|
||||||
|
- k
|
||||||
|
- 19
|
||||||
|
- t
|
||||||
|
- 28
|
||||||
|
- 4
|
||||||
|
* - 2
|
||||||
|
- c
|
||||||
|
- 11
|
||||||
|
- l
|
||||||
|
- 20
|
||||||
|
- u
|
||||||
|
- 29
|
||||||
|
- 5
|
||||||
|
* - 3
|
||||||
|
- d
|
||||||
|
- 12
|
||||||
|
- m
|
||||||
|
- 21
|
||||||
|
- v
|
||||||
|
- 30
|
||||||
|
- 6
|
||||||
|
* - 4
|
||||||
|
- e
|
||||||
|
- 13
|
||||||
|
- n
|
||||||
|
- 22
|
||||||
|
- w
|
||||||
|
- 31
|
||||||
|
- 7
|
||||||
|
* - 5
|
||||||
|
- f
|
||||||
|
- 14
|
||||||
|
- o
|
||||||
|
- 23
|
||||||
|
- x
|
||||||
|
-
|
||||||
|
-
|
||||||
|
* - 6
|
||||||
|
- g
|
||||||
|
- 15
|
||||||
|
- p
|
||||||
|
- 24
|
||||||
|
- y
|
||||||
|
-
|
||||||
|
-
|
||||||
|
* - 7
|
||||||
|
- h
|
||||||
|
- 16
|
||||||
|
- q
|
||||||
|
- 25
|
||||||
|
- z
|
||||||
|
-
|
||||||
|
-
|
||||||
|
* - 8
|
||||||
|
- i
|
||||||
|
- 17
|
||||||
|
- r
|
||||||
|
- 26
|
||||||
|
- 2
|
||||||
|
-
|
||||||
|
-
|
||||||
|
|
||||||
Message Encoding
|
Message Encoding
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@ -1058,8 +1152,6 @@ otherwise it will read a byte which won't match `b""`::
|
|||||||
|
|
||||||
.. _Base64: https://www.rfc-editor.org/rfc/rfc4648#section-4
|
.. _Base64: https://www.rfc-editor.org/rfc/rfc4648#section-4
|
||||||
|
|
||||||
.. _Base32: https://www.rfc-editor.org/rfc/rfc4648#section-6
|
|
||||||
|
|
||||||
.. _RFC 4648: https://tools.ietf.org/html/rfc4648
|
.. _RFC 4648: https://tools.ietf.org/html/rfc4648
|
||||||
|
|
||||||
.. _RFC 7469: https://tools.ietf.org/html/rfc7469#section-2.4
|
.. _RFC 7469: https://tools.ietf.org/html/rfc7469#section-2.4
|
||||||
|
Loading…
x
Reference in New Issue
Block a user