base32 1.0.1

Build Status

dart-base32 #

[![Join the chat at https://gitter.im/Daegalus/dart-base32](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Daegalus/dart-base32?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Simple base32 encode/decode matching the base32 method used by Google Authenticator.

Features:

Getting Started #

Pubspec #

pub.dartlang.org: (you can use 'any' instead of a version if you just want the latest always)

dependencies:
  base32: 1.0.0
import 'package:base32/base32.dart';

Start encoding/decoding ...

// Encode a hex string to base32
base32.encodeHexString('48656c6c6f21deadbeef'); // -> 'JBSWY3DPEHPK3PXP'

// base32 decoding to original string.
base32.decode("JBSWY3DPEHPK3PXP"); // -> '48656c6c6f21deadbeef'

API #

base32.encode(List<int> byteList) #

Generate and return a RFC4122 v1 (timestamp-based) UUID.

  • byteList - (List<int>) A list of bytes representing your input.

Returns String representation of the encoded base32.

base32.encodeHexString(String hex) #

Generate and return a RFC4122 v4 UUID.

  • hexString - (String) A string of hex values intended to be converted to bytes and encoded.

Returns String representation of the encoded base32

Example: Encode a hex string.

base32.encodeHexString('48656c6c6f21deadbeef'); // -> 'JBSWY3DPEHPK3PXP'

base32.decode(String base32) #

Decodes a base32 string back to its original byte values.

  • base32 - (String) The base32 string you wish to decode.

Returns Uint8List of the decoded data.

Example: Decode a base32 string, then output it in hex format

var decoded = base32.decode("JBSWY3DPEHPK3PXP");
var decodedHex = CryptoUtils.bytesToHex(decoded); // -> '48656c6c6f21deadbeef'

Testing #

In dartvm

dart test\base32_test.dart

In Browser

At the moment, this package does not work client-side as it uses server-side only UInt8Lists. I might have to wait till UInt8Arrays and UInt8Lists are merged into 1

Release notes #

v1.0.0

  • Merge pull request to fix List type and some readme formatting
  • This has been stable for years, moving to 1.0.0. Will release 1.0.0+1 when Dart 2.0 goes stable.

v0.1.2

  • Merge Pull Request to move most dependencies to dev_dependecies

v0.1.0 & v0.1.1wq

  • Updates for Dart 1.0 readiness.

v0.0.8

  • Fix crypto import in the test.

v0.0.7

  • Fix for typed_data name change. Thanks to the pull requestor for bringing it to my attention and fixing it.

v0.0.6

  • Fix for language changes.

v0.0.5

  • Fix for language changes.

v0.0.4

  • Fixes and changes for M3
  • New hex to byte converter.

v0.0.3

  • Made all functions static.

v0.0.2

  • Fixed unittest dependency

v0.0.1

  • Initial Documented Release

v1.0.1

  • Enable 2.0.0 final support

v1.0.0

  • Merge pull request to fix List type and some readme formatting
  • This has been stable for years, moving to 1.0.0. Will release 1.0.0+1 when Dart 2.0 goes stable.

v0.1.2

  • Merge Pull Request to move most dependencies to dev_dependecies

v0.1.0 & v0.1.1wq

  • Updates for Dart 1.0 readiness.

v0.0.8

  • Fix crypto import in the test.

v0.0.7

  • Fix for typed_data name change. Thanks to the pull requestor for bringing it to my attention and fixing it.

v0.0.6

  • Fix for language changes.

v0.0.5

  • Fix for language changes.

v0.0.4

  • Fixes and changes for M3
  • New hex to byte converter.

v0.0.3

  • Made all functions static.

v0.0.2

  • Fixed unittest dependency

v0.0.1

  • Initial Documented Release

example/example.dart

import 'package:base32/base32.dart';

void main() {
  // Encode a hex string to base32
  base32.encodeHexString('48656c6c6f21deadbeef'); // -> 'JBSWY3DPEHPK3PXP'

  // base32 decoding to original string.
  base32.decode("JBSWY3DPEHPK3PXP"); // -> '48656c6c6f21deadbeef'
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  base32: ^1.0.1

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter pub get

Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:base32/base32.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
72
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
85
Learn more about scoring.

We analyzed this package on Jul 22, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19

Platforms

Detected platforms: Flutter, web, other

No platform restriction found in primary library package:base32/base32.dart.

Health suggestions

Fix lib/base32.dart. (-1.49 points)

Analysis of lib/base32.dart reported 3 hints:

line 6 col 3: Prefer using /// for doc comments.

line 45 col 3: Prefer using /// for doc comments.

line 55 col 3: Prefer using /// for doc comments.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.0.0 <3.0.0
Dev dependencies
convert >=2.0.0
test any

Admin