You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It may indicate that this is a rewrite of package:crypto or that both are from the same publisher (they are different: dart.dev and dint.dev, which are a bit similar and easy to conflate) or that cryptography is an official successor.
Maybe it should indicate that both are different and solve different problems, but package:cryptography is a more complete solution for cryptography beyond hashing algorithms?
Clarify the reason behind depending on package:crypto
This is the part that I find a bit inconsistent with the former.
This is understandable, but Dart can be more specific: is it a pure Dart implementation, or an implementation of package:crypto's API by the Dart team publisher (commonly known as a Dart package)?
These details are minor but raised some questions when choosing to adapt package:cryptography in other packages published to pub.dev. Real example: Skyost/SimpleSecureStorage#16 (comment)
The main concern was the additional transitive dependency: Dart's crypto (package:crypto).
Even though this does benefit from Dart tree shaking, so in practice this does not negatively impact the bundle size and many packages add package:crypto as a transitive dependency indirectly, breaking changes are still a concern.
Thank you for maintaining this library!
A few concerns:
the older "package:crypto"in READMEThis section: https://pub.dev/packages/cryptography#cryptographic-hash-functions
While the performance comparison itself can be accurate,
readers might interpret the word "older" differently than what is intended.
It may indicate that this is a rewrite of
package:cryptoor that both are from the same publisher (they are different:dart.devanddint.dev, which are a bit similar and easy to conflate) or thatcryptographyis an official successor.Maybe it should indicate that both are different and solve different problems, but
package:cryptographyis a more complete solution for cryptography beyond hashing algorithms?package:cryptoThis is the part that I find a bit inconsistent with the former.
I assume this is for compatibility with the ecosystem, at least according to this quick GitHub search:
https://github.com/search?q=repo%3Adint-dev%2Fcryptography%20package%3Acrypto&type=code
So that it implements the classes and interfaces of
package:cryptobut in practice it is still a different implementation. Is that correct?See also:
cryptography/cryptography/lib/src/dart/sha1.dart
Line 22 in 87f42fa
cryptography/cryptography/lib/src/dart/_helpers.dart
Line 18 in 87f42fa
This is understandable, but
Dartcan be more specific: is it a pure Dart implementation, or an implementation ofpackage:crypto's API by the Dart team publisher (commonly known as a Dart package)?The first version of
package:cryptographyaddscryptoas a dependency: https://pub.dev/packages/cryptography/versions/0.1.0Note
These details are minor but raised some questions when choosing to adapt
package:cryptographyin other packages published to pub.dev. Real example: Skyost/SimpleSecureStorage#16 (comment)The main concern was the additional transitive dependency: Dart's crypto (
package:crypto).Even though this does benefit from Dart tree shaking, so in practice this does not negatively impact the bundle size and many packages add
package:cryptoas a transitive dependency indirectly, breaking changes are still a concern.