Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crockford's Base32 does not recognize check symbol appended chars (*, ~, $, =, U, u) #125

Open
05nelsonm opened this issue Oct 30, 2021 · 0 comments
Labels

Comments

@05nelsonm
Copy link

Steps to reproduce the bug

  1. Navigate to cryptii.com.
  2. Select decode Base32 Crockford
  3. Enter 91JPRV3F41BPYWKCCGGG* into decode box (decoded = Hello World!)
  4. See error

Describe what you expected to happen
Trailing character * should be ignored when decoding, instead of throwing an error.
Other optional check symbol characters are ~, $, =, U, u that can be appended to the encoded
string value.

https://www.crockford.com/base32.html

SymbolValue DecodeSymbol EncodeSymbol
32 * *
33 ~ ~
34 $ $
35 = =
36 U u U

An application may append a check symbol to a symbol string. This check symbol can be used to detect wrong-symbol and transposed-symbol errors. This allows for detecting transmission and entry errors early and inexpensively.

The check symbol encodes the number modulo 37, 37 being the least prime number greater than 32. We introduce 5 additional symbols that are used only for encoding or decoding the check symbol.

The additional symbols were selected to not be confused with punctuation or with URL formatting.

Version, environment and state

Inside the web app press Ctrl+I, copy the presented alert text and paste it into the block below.

{"version":"4.0.8+master.b029d8c","env":{"name":"chrome","version":"94.0.4606","os":"Linux","type":"browser"},"pipe":{"id":3826640416,"url":"https://cryptii.com/pipes/crockford-base32","title":"Crockford's Base32 – Encode and decode online","description":"Another alternative design for Base32 is created by Douglas Crockford. It excludes I, L, O to avoid confusion with digits and U to prevent accidental obscenity.","items":[{"name":"text"},{"name":"base32","settings":{"variant":"crockford-base32"}},{"name":"text","title":"Encoded"}],"content":{"data":"The quick brown fox jumps over the lazy dog."}}}
@05nelsonm 05nelsonm added the bug label Oct 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant