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 pubspec.yaml
:
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);
List<int>
instead of Uint8List
Add this to your package's pubspec.yaml file:
dependencies:
salt: ^0.1.1
You can install packages from the command line:
with Flutter:
$ flutter packages get
Alternatively, your editor might support flutter packages get
.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:salt/salt.dart';
Version | Uploaded | Documentation | Archive |
---|---|---|---|
0.1.1 | Feb 9, 2019 |
|
|
0.1.0 | Feb 9, 2019 |
|
|
0.0.1 | Feb 9, 2019 |
|
|
Popularity:
Describes how popular the package is relative to other packages.
[more]
|
0
|
Health:
Code health derived from static analysis.
[more]
|
100
|
Maintenance:
Reflects how tidy and up-to-date the package is.
[more]
|
90
|
Overall:
Weighted score of the above.
[more]
|
48
|
We analyzed this package on Feb 20, 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 main.dart
, example.dart
, and salt.dart
. Packages with multiple examples should provide example/README.md
.
For more information see the pub package layout conventions.
Package | Constraint | Resolved | Available |
---|---|---|---|
Direct dependencies | |||
Dart SDK | >=2.0.0 <3.0.0 | ||
flutter | 0.0.0 | ||
Transitive dependencies | |||
collection | 1.14.11 | ||
meta | 1.1.6 | 1.1.7 | |
sky_engine | 0.0.99 | ||
typed_data | 1.1.6 | ||
vector_math | 2.0.8 | ||
Dev dependencies | |||
flutter_test |