base32 1.0.0+1

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 73

Build Status

dart-base32

Join the chat at https://gitter.im/Daegalus/dart-base32

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.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'
}

1. Depend on it

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


dependencies:
  base32: "^1.0.0+1"

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter packages get

Alternatively, your editor might support pub get or packages 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';
        
Version Uploaded Documentation Archive
1.0.0+1 Apr 10, 2018 Go to the documentation of base32 1.0.0+1 Download base32 1.0.0+1 archive
1.0.0 Apr 10, 2018 Go to the documentation of base32 1.0.0 Download base32 1.0.0 archive
0.1.2 Jan 31, 2015 Go to the documentation of base32 0.1.2 Download base32 0.1.2 archive
0.1.1 Nov 9, 2013 Go to the documentation of base32 0.1.1 Download base32 0.1.1 archive
0.1.0 Nov 9, 2013 Go to the documentation of base32 0.1.0 Download base32 0.1.0 archive
0.0.8 Sep 14, 2013 Go to the documentation of base32 0.0.8 Download base32 0.0.8 archive
0.0.7 May 27, 2013 Go to the documentation of base32 0.0.7 Download base32 0.0.7 archive
0.0.6 Apr 11, 2013 failed Download base32 0.0.6 archive
0.0.5 Mar 3, 2013 failed Download base32 0.0.5 archive
0.0.4 Jan 22, 2013 failed Download base32 0.0.4 archive

All 13 versions...

Analysis

We analyzed this package on Apr 10, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.46.0
  • pana: 0.10.6

Scores

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

Platforms

Detected platforms: Flutter, web, other

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

Suggestions

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 1 hint.

    Strong-mode analysis of lib/base32.dart gave the following hint:

    line: 5 col: 7
    Name types using UpperCamelCase.

Dependencies

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