salt 0.1.2 salt: ^0.1.2 copied to clipboard
A simple and pure Dart crypto library for Flutter applications.
Salt, a crypto library for Flutter #
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:
- chacha20-poly1305
Getting started #
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);
Notes #
- This library uses a lot of ported code from the following repository: https://github.com/devi/Salt
- In this library we use
List<int>
instead ofUint8List