hashlib_codecs 2.2.0 copy "hashlib_codecs: ^2.2.0" to clipboard
hashlib_codecs: ^2.2.0 copied to clipboard

Fast and error resilient codecs. Currently supporting Binary(Base2), Hexadecimal(Base16), Base32, Base64, BigInt.

Hashlib Codecs #

plugin version dependencies dart support likes pub points popularity

This library contains implementations of fast and error resilient codecs in pure Dart.

Features #

Binary (Base-2) #

Type Available
Class Base2Codec
Methods fromBinary, toBinary

Available codecs:

  • standard: 01 (default)

Octal (Base-8) #

Type Available
Class Base8Codec
Methods fromOctal, toOctal

Available codecs:

  • standard: 012345678 (default)

Hexadecimal (Base-16) #

Type Available
Class Base16Codec
Methods fromHex, toHex

Available codecs:

  • upper: 0123456789ABCDEF (default)
  • lower: 0123456789abcdef

Base-32 #

Supports conversion without padding

Type Available
Class Base32Codec
Methods fromBase32, toBase32

Available codecs:

  • standard (RFC-4648): ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 (default)
  • lowercase: abcdefghijklmnopqrstuvwxyz234567
  • hex: 0123456789ABCDEFGHIJKLMNOPQRSTUV
  • hexLower: 0123456789abcdefghijklmnopqrstuv
  • crockford: 0123456789bcdefghjkmnpqrstuvwxyz
  • z: ybndrfg8ejkmcpqxot1uwisza345h769
  • wordSafe: 23456789CFGHJMPQRVWXcfghjmpqrvwx

Base-64 #

Supports conversion without padding, and
the URL/Filename-safe Base64 conversion.

Type Available
Class Base64Codec
Methods fromBase64, toBase64

Available codecs:

  • standard (RFC-4648): ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ (default)
  • urlSafe: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_
  • bcrypt: ./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

BigInt #

Supports both the Big-Endian and Little-Endian conversion

Type Available
Class BigIntCodec
Methods fromBigInt, toBigInt

Available codecs:

  • msbFirst: treats the input bytes in big-endian order
  • lsbFirst: treats the input bytes in little-endian order

PHC String Format #

Encoding and Decoding of Hash algorithm output according to the PHC string format specification.

Type Available
Class PHCSF
Constant phcsf
Methods toPHCSF, fromPHCSF

Getting Started #

The following import will give you access to all of the algorithms in this package.

import 'package:hashlib_codecs/hashlib_codecs.dart';

Check the API Reference for details.

Usage #

Examples can be found inside the example folder.

import 'package:hashlib_codecs/hashlib_codecs.dart';

void main() {
  var inp = [0x3, 0xF1];
  print("input => $inp");
  print('');

  print("binary => ${toBinary(inp)}");
  print('');

  print("octal => ${toOctal(inp)}");
  print('');

  print("hexadecimal => ${toHex(inp)}");
  print("hexadecimal (uppercase) => ${toHex(inp, upper: true)}");
  print('');

  print("base32 => ${toBase32(inp)}");
  print("base32 (lowercase) => ${toBase32(inp, lower: true)}");
  print("base32 (no padding) => ${toBase32(inp, padding: false)}");
  print("base32 (hex) => ${toBase32(inp, codec: Base32Codec.hex)}");
  print("base32 (z-base-32) => ${toBase32(inp, codec: Base32Codec.z)}");
  print("base32 (geohash) => ${toBase32(inp, codec: Base32Codec.geohash)}");
  print("base32 (crockford) => ${toBase32(inp, codec: Base32Codec.crockford)}");
  print("base32 (word-safe) => ${toBase32(inp, codec: Base32Codec.wordSafe)}");
  print('');

  print("base64 => ${toBase64(inp)}");
  print("base64url => ${toBase64(inp, url: true)}");
  print("base64 (no padding) => ${toBase64(inp, padding: false)}");
  print("bcrypt => ${toBase64(inp, codec: Base64Codec.bcrypt)}");
  print('');
}
2
likes
140
pub points
72%
popularity

Publisher

verified publisherbitanon.dev

Fast and error resilient codecs. Currently supporting Binary(Base2), Hexadecimal(Base16), Base32, Base64, BigInt.

Repository (GitHub)
View/report issues

Documentation

API reference

Funding

Consider supporting this project:

paypal.me

License

BSD-3-Clause (LICENSE)

More

Packages that depend on hashlib_codecs