Base16, Base32, Base58, Base85 encoding/decoding library
Install-Package SimpleBase -Version 3.0.0
dotnet add package SimpleBase --version 3.0.0
<PackageReference Include="SimpleBase" Version="3.0.0" />
paket add SimpleBase --version 3.0.0
# Breaking changes
- This version only supports .NET Standard 2.1 (.NET Core 3.0) and up, because I started using nullable annotations
and Span/Range constructs in the code. It's time to move to the future, folks!
- Base16 encoding/decoding methods have been moved to `Base16.UpperCase` and `Base16.LowerCase` respectively.
- Changed the static version of `Base16.Decode()` to receive a string as a parameter to avoid signature conflicts. (It's probably more practical this way)
- Removed string/byte overloads for Encode functions as they are redundant with .NET Core 3.0. Only `Base16.Decode`
remained as a string due to function signature conflicts.
- Base32 is no longer whitespace tolerant.
# New features
- New TryEncode/TryDecode interfaces for non-allocating encoding. Probably would be useful in massive number of encodings.
- Yubico's ModHex support for Base16.
- More than 2x faster Base16 decoding
- Faster Base16 encoding
- More test coverage
- No more dependency to System.Runtime.Numerics
- Encoders now conform to common interfaces like IBaseEncoder, IBaseStreamEncoder, INonAllocatingBaseEncoder
which make them pluggable, replacable with other implementations.
- Nullable reference annotations
- Fix package license expression.
- Fix regression in Base16 optimizations.
- System.Memory (>= 4.5.3)
Showing the top 2 GitHub repositories that depend on SimpleBase:
A self-service password management tool for Active Directory
Read more about the GitHub Usage information on our documentation.