This is a simple and pure Dart library which adds support for cryptography in Flutter apps without having to use native C bindings. The goal for this project is to slowly adopt several crypto algorithms with proper tests.
Currently the following crypto algorithms are supported:
First of all add the following dependencies to your
dependencies: salt: ^0.1.1
Then you will find everything you need in the
Salt class. Below is an example how to
encrypt and decrypt a message using chacha20-poly1305:
import 'package:salt/binhex.dart'; import 'package:salt/salt.dart' var key = BinHex.hex2bin('4290bcb154173531f314af57f3be3b5006da371ece272afa1b5dbdd1100a1007'); var input = BinHex.hex2bin('86d09974840bded2a5ca'); var nonce = BinHex.hex2bin('cd7cf67be39c794a'); var ad = BinHex.hex2bin('87e229d4500845a079c0'); var ciphertext = Salt.chacha20Poly1305Encrypt(input, ad, nonce, key); var plaintext = Salt.chacha20Poly1305Decrypt(ciphertext, ad, nonce, key);
Add this to your package's pubspec.yaml file:
dependencies: salt: ^0.1.2
You can install packages from the command line:
$ flutter pub get
Alternatively, your editor might support
flutter pub get.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
We analyzed this package on Jul 22, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Detected platforms: Flutter
References Flutter, and has no conflicting libraries.
Maintain an example. (-10 points)
Create a short demo in the
example/ directory to show how to use this package.
Common filename patterns include
salt.dart. Packages with multiple examples should provide
For more information see the pub package layout conventions.