# Library of cryptographic functions for Dart

A set of cryptographic functions implemented in pure Dart.

* MD5
* SHA1
* SHA265
* Converting a list of bytes into a hex string
* Converting a list of bytes into a base64-encoded string.
* Converting a Base 64 encoded String into list of bytes.

## Disclaimer

Support for this library is given as _best effort_.

This library has not been reviewed or vetted by security professionals.

## Features and bugs

Please file feature requests and bugs at the [issue tracker][tracker].

[tracker]: https://github.com/dart-lang/crypto/issues
