cryptography_flutter

Creator: coderz1093

Last updated:

Add to Cart

Description:

cryptography flutter

Overview #
This is a Flutter plugin that
enables pub.dev/packages/cryptography
to use native APIs of Android, iOS, and Mac OS X.
Maintained by gohilla.com. Licensed under the Apache License 2.0.
Why? #

Secure

Operating system APIs are preferable from security point of view.


Performant.

Operating system APIs are up to 100 times faster than pure Dart implementations.


Cross-platform.

The implementations fall back to "package:cryptography" implementations when operating system
APIs can't be used.



General behavior #
The package is tested with cryptography_test.
This package contains two kinds of classes:

Classes such
as FlutterChacha20
use operating system APIs in Android / iOS / Mac OS X. If the operating system does not support
the algorithm, the background implementation (such as BackgroundChacha20) or a pure Dart
implementation (such
as DartChacha20)
when available.
Classes such
as BackgroundChacha20
move lengthy computations to a background isolate by using
compute function in Flutter
SDK.
Both compute very small inputs in the same isolate if the overhead of message passing does not
make sense. For example, if you encrypt a 16 byte message, the computation is done in the same
isolate.
Too large inputs are also computed in the same isolate (because you probably should not
allocate a gigabyte cross-isolate message on a mobile phone).
We also have a queue to prevent memory exhaustion that could happen if you send lots of requests
concurrently.

Getting started #
In pubspec.yaml:
dependencies:
cryptography: ^2.7.0
cryptography_flutter: ^2.3.2
copied to clipboard
That's it!
For API documentation, read more
at pub.dev/packages/cryptography.
Behavior by algorithm #
AES-GCM #
FlutterAesGcm
is used in Android, iOS, and Mac OS X.
Our benchmarks have shown up to ~50 times better performance than
DartAesGcm
(the pure Dart implementation).
BackgroundAesGcm
is used in Windows and Linux for inputs that are large enough.
ChaCha20-Poly1305-AEAD #
FlutterChacha20
is available for Android and Apple operating systems.
Our benchmarks have shown up to ~50 times better performance than
DartChacha20
(the pure Dart implementation).
BackgroundChacha20
is used in Windows and Linux for inputs that are large enough.
NIST ECDH / ECDSA #
FlutterEcdh
and FlutterEcdsa
are available for Apple operating systems.
Ed25519 #
FlutterEd25519
and BackgroundEd25519
are available for Apple operating systems.
X25519 #
FlutterX25519
and BackgroundX25519
are available for Apple operating systems.
HMAC #
FlutterHmac
is available for Android..
PBKDF2 #
FlutterPbkdf2
is available for Android.
BackgroundPbkdf2
is used in Apple operating systems, Windows and Linux.
Links #

Github project
Issue tracker
Pub package
API reference

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.