- From: Brent Shambaugh <brent.shambaugh@gmail.com>
- Date: Tue, 29 Mar 2022 16:22:37 -0500
- To: Credentials Community Group <public-credentials@w3.org>
- Message-ID: <CACvcBVoTkYvN3AR+6X62zTHnLkGJhqGVifyVUa53Y9TC3rdagw@mail.gmail.com>
There is an issue with the did-jwt library that may need a breaking change to fix. See (https://github.com/decentralized-identity/did-jwt/issues/222) and/or Consider this exmaple: A 64 character, 32 bit hex string representing a private key is written as: 040f1dbf0a2ca86875447a7c010b0fc6d39d76859c458fbe8f2bf775a40ad74a . In Base58 these bits take 43 characters: Gqzym8nfnxR5ZYZ3wZo8rvTwKTqGn5cJsbHnEhUZDPo. This is a problem for the existing base58Matcher const base58Matcher = /^([1-9A-HJ-NP-Za-km-z]{44}|[1-9A-HJ-NP-Za-km-z]{88})$/ A possible solution would be to rewrite this matcher to include 43 character strings: const base58Matcher = /^([1-9A-HJ-NP-Za-km-z]{43,44}|[1-9A-HJ-NP-Za-km-z]{86,88})$/ However, this is a problem as the base64 matcher considers the same 43 character length, with a similar alphabet: const base64Matcher = /^([0-9a-zA-Z=\-_+/]{43}|[0-9a-zA-Z=\-_+/]{86})(={0,2})$/ Here are the alphabets for Base64 and Base58:: Base64 Alphabet:: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/= Source: https://datatracker.ietf.org/doc/html/rfc4648#section-4 Base58 Alphabet:: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz Source: https://datatracker.ietf.org/doc/html/draft-msporny-base58-01 -Brent Shambaugh GitHub: https://github.com/bshambaugh Website: http://bshambaugh.org/ LinkedIN: https://www.linkedin.com/in/brent-shambaugh-9b91259 Skype: brent.shambaugh Twitter: https://twitter.com/Brent_Shambaugh WebID: http://bshambaugh.org/foaf.rdf#me
Received on Tuesday, 29 March 2022 21:48:42 UTC