crypto
Implementations of SHA, MD5, and HMAC cryptographic functions.
3.0.7
1000K downloads/mo
#7 most downloaded on pub.dev
dart-lang/core
What this package is like to depend on
Last release 9 months ago
04 Nov 2025
Release timing varies
gaps range from 3 weeks to 1.3 years
Some releases are documented
notes for 28 of 78 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
79 releases · first in 2013
1 release in the last 12 months
see the full history below
Release timeline
79 releases · May 2013 to Nov 2025Releases
latest 60 of 79-
3.0.704 Nov 2025Release notes
Open source →- Run
dart formatwith the new style. - Performance improvements.
- Updated web conditional import to use
js_interopto support WebAssembly.
Release notes
Open source →- Run
dart formatwith the new style. - Performance improvements.
- Updated web conditional import to use
js_interopto support WebAssembly.
- Run
-
3.0.616 Oct 2024 -
3.0.515 Aug 2024Release notes
Open source →- Revert switch to enable fast "sinks" on Wasm because it breaks
dart2jswith server mode.
- Revert switch to enable fast "sinks" on Wasm because it breaks
-
3.0.413 Aug 2024 -
3.0.304 May 2023 -
3.0.227 Apr 2022Release notes
Open source →- Require Dart 2.14.0.
- Fix bug calculating hashes for content larger than 512MB when compiled to JS.
-
3.0.101 Apr 2021 -
3.0.002 Feb 2021Release notes
Open source →- Stable release for null safety.
- Adds SHA-2 512/224 and SHA-2 512/256 from FIPS 180-4
- Removes
newInstanceinstance members on some classes and updates documentation.
-
3.0.0-nullsafety.030 Dec 2020 pre-releaseNothing published for this version
-
2.1.520 May 2020Release notes
Open source →- Improve example and package description to address package site maintenance suggestions.
-
2.1.406 Dec 2019 -
2.1.310 Sep 2019 -
2.1.220 Aug 2019 -
2.1.106 Aug 2019Release notes
Open source →- Added a workaround for a bug in DDC (used in build_web_compilers 1.x). This bug is not present in DDK (used in build_web_compilers 2.x).
-
2.1.1+106 Aug 2019Release notes
Open source →- Bump version number for publish mishap (spare file uploaded with
pub publish).
- Bump version number for publish mishap (spare file uploaded with
-
2.1.005 Aug 2019Release notes
Open source →- Added SHA384, and SHA512
- Add Sha224 + Refactor
- Support 32bit and 64bit operations for SHA384/51
- Add conditional imports
- De-listify 32bit allocations
- Add sha monte tests for 224,256,384, and 512
- Added SHA384, and SHA512
-
2.0.613 Jul 2018Nothing published for this version
-
2.0.515 Jun 2018Release notes
Open source →- Changed the max message size instead to 0x3ffffffffffff, which is the largest portable value for both JS and the Dart VM.
-
2.0.303 May 2018 -
2.0.219 Jul 2017Release notes
Open source →- Prepare
HashSinkimplementation for limiting integers to 64 bits in Dart language.
- Prepare
-
2.0.2+119 Sep 2017 -
2.0.103 Jun 2016 -
2.0.003 Jun 2016Release notes
Open source →Note: There are no APIs in 2.0.0 that weren't also in 0.9.2. Packages that would use 2.0.0 as a lower bound should use 0.9.2 instead—for example,
crypto: ">=0.9.2 <3.0.0".HashandHmacno longer extendChunkedConverter.
-
1.1.121 Apr 2016Release notes
Open source →- Properly close sinks passed to
Hash.startChunkedConversion()whenByteConversionSink.close()is called.
- Properly close sinks passed to
-
1.1.014 Apr 2016Release notes
Open source →-
HmacandHashnow extend the newChunkedConverterclass fromdart:convert. -
Fix all strong mode warnings.
-
-
1.0.028 Mar 2016Release notes
Open source →- All APIs that were deprecated in 0.9.2 have been removed. No new APIs have
been added. Packages that would use 1.0.0 as a lower bound should use 0.9.2
instead—for example,
crypto: ">=0.9.2 <2.0.0".
- All APIs that were deprecated in 0.9.2 have been removed. No new APIs have
been added. Packages that would use 1.0.0 as a lower bound should use 0.9.2
instead—for example,
-
0.9.223 Mar 2016Release notes
Open source →-
Hash,MD5,SHA1, andSHA256now implementConverter. They convert betweenList<int>s and the newDigestclass, which represents a hash digest. TheConverterAPIs—Hash.convert()andHash.startChunkedConversion—should be used in preference to the old APIs, which are now deprecated. -
SHA1,SHA256, andHMAChave been renamed toSha1,Sha256, andHmac, respectively. The old names still work, but are deprecated. -
Top-level
sha1,sha256, andmd5fields have been added to make it easier to use those hash algorithms without having to instantiate new instances. -
Hashing now works correctly for input sizes up to 2^64 bytes.
Deprecations
-
Hash.add,Hash.close, andHash.newInstanceare deprecated.Hash.convertshould be used for hashing single values, andHash.startChunkedConversionshould be used for hashing streamed values. -
SHA1andSHA256are deprecated. Use the top-levelsha1andsha256fields instead. -
While the
MD5class is not deprecated, thenew MD5()constructor is. Use the top-levelmd5field instead. -
HMACis deprecated. UseHmacinstead. -
Base64Codec,Base64Encoder,Base64Decoder,Base64EncoderSink,Base64DecoderSink, andBASE64are deprecated. Use the Base64 APIs indart:convertinstead. -
CryptoUtilsis deprecated. Use the Base64 APIs indart:convertand the hex APIs in theconvertpackage instead.
-
-
0.9.2+123 Mar 2016 -
0.9.116 Sep 2015Release notes
Open source →- Base64 convert returns an Uint8List
- Base64 codec and encoder can now take an encodePaddingCharacter
- Implement a Base64 codec similar to codecs in 'dart:convert'
-
0.9.006 Nov 2013 -
0.8.1001 Nov 2013Nothing published for this version
-
0.8.10+304 Nov 2013Nothing published for this version
-
0.8.10+405 Nov 2013Nothing published for this version
-
0.8.931 Oct 2013Nothing published for this version
-
0.8.830 Oct 2013Nothing published for this version
-
0.8.728 Oct 2013Nothing published for this version
-
0.8.624 Oct 2013Nothing published for this version
-
0.8.521 Oct 2013Nothing published for this version
-
0.8.419 Oct 2013Nothing published for this version
-
0.8.317 Oct 2013Nothing published for this version
-
0.8.214 Oct 2013Nothing published for this version
-
0.8.104 Oct 2013Nothing published for this version
-
0.8.003 Oct 2013Nothing published for this version
-
0.7.627 Sep 2013Nothing published for this version
-
0.7.6+401 Oct 2013Nothing published for this version
-
0.7.521 Sep 2013Nothing published for this version
-
0.7.418 Sep 2013Nothing published for this version
-
0.7.3+116 Sep 2013Nothing published for this version
-
0.7.206 Sep 2013Nothing published for this version
-
0.7.2+108 Sep 2013Nothing published for this version
-
0.7.103 Sep 2013Nothing published for this version
-
0.7.028 Aug 2013Nothing published for this version
-
0.6.21+326 Aug 2013Nothing published for this version
-
0.6.20+122 Aug 2013Nothing published for this version
-
0.6.1919 Aug 2013Nothing published for this version
-
0.6.1710 Aug 2013Nothing published for this version
-
0.6.17+212 Aug 2013Nothing published for this version
-
0.6.15+205 Aug 2013Nothing published for this version
-
0.6.15+306 Aug 2013Nothing published for this version
-
0.6.1402 Aug 2013Nothing published for this version