66Popular cryptographic algorithms for [ Dart] ( https://dart.dev ) / [ Flutter] ( https://flutter.dev )
77developers.
88
9- Maintained by [ gohilla.com] ( https://gohilla.com ) . Licensed under the [ Apache License 2.0] ( LICENSE ) .
10-
11- This package is designed to be:
12-
13- * __ Easy to use__ . The API is easy to understand and encourages good defaults.
14- * __ Multi-platform__ . It's easy to customize implementation of X in platform Y.
15- * __ Fast.__ We use platform APIs when available. For example, SHA-512 is over 100 times faster than
16- _ package: crypto_ in browsers.
9+ Maintained by [ terrier989] ( https://github.com/terrier989 ) .
10+ Licensed under the [ Apache License 2.0] ( LICENSE ) .
11+
12+ ## Key features
13+ * __ Defaults to platform-provided implementations.__
14+ * Android: [ javax.crypto] ( https://developer.android.com/reference/javax/crypto/package-summary )
15+ * iOS / Mac OS X: [ Apple CryptoKit] ( https://developer.apple.com/documentation/cryptokit/ )
16+ * Web: [ Web Crypto API] ( https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API )
17+ * __ Works in all platforms.__
18+ * We have written Dart implementations for the vast majority of algorithms. When a platform does
19+ not provide a required algorithm, the package automatically falls back to pure Dart
20+ implementation.
21+ * In browsers, both Javascript and WASM compilers are supported. Dart implementations of 64-bit
22+ algorithms like Blake2B have been written to work with Javascript's 53-bit integers.
23+ * __ Flexible.__
24+ * You can override factory methods in [ Cryptography] ( https://pub.dev/documentation/cryptography/latest/cryptography/Cryptography-class.html )
25+ class if you want to use something else. Note that algorithms that you don't use do not affect
26+ size of the executable because of tree pruning.
27+ * You can override random number generator with a deterministic one for tests.
28+ * __ Fast.__
29+ * For example, SHA-512 is over 100 times faster than _ package: crypto_ in browsers.
1730
1831Any feedback, issue reports, or pull requests are appreciated!
1932
@@ -33,8 +46,10 @@ Android / iOS / Mac OS X operating system APIs whenever possible.
3346In _ pubspec.yaml_ :
3447``` yaml
3548dependencies :
36- cryptography : ^2.7.0
37- cryptography_flutter : ^2.3.2 # Remove if you don't use Flutter
49+ cryptography : ^2.8.0
50+
51+ # If you are writing a Flutter app/package, also add this:
52+ cryptography_flutter : ^2.3.3
3853` ` `
3954
4055You are ready to go!
@@ -239,8 +254,8 @@ We wrote the following three implementations of `Cryptography`:
239254 for list algorithms supported by it.
240255* [BrowserCryptography](https://pub.dev/documentation/cryptography/latest/cryptography/BrowserCryptography-class.html)
241256 * Uses [Web Cryptography API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API)
242- (_crypto.subtle_) whenever possible. Methods return pure Dart implementations when Web
243- Cryptography API is not available.
257+ whenever possible. Methods return pure Dart implementations when Web Cryptography API is not
258+ available.
244259 * See the [class documentation](https://pub.dev/documentation/cryptography/latest/cryptography/BrowserCryptography-class.html)
245260 for list algorithms supported by it.
246261* [FlutterCryptography](https://pub.dev/documentation/cryptography_flutter/latest/cryptography_flutter/FlutterCryptography-class.html)
0 commit comments