newInstance
instance members on some classes and updates documentation.Digest
.pub publish
).HashSink
implementation for limiting integers to 64 bits in Dart language.convert
2.0.0.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"
.
Hash
and Hmac
no longer extend ChunkedConverter
.Hash.startChunkedConversion()
when ByteConversionSink.close()
is called.Hmac
and Hash
now extend the new ChunkedConverter
class from dart:convert
.
Fix all strong mode warnings.
crypto: ">=0.9.2 <2.0.0"
.Hash
, MD5
, SHA1
, and SHA256
now implement Converter
. They convert between List<int>
s and the new Digest
class, which represents a hash digest. The Converter
APIs—Hash.convert()
and Hash.startChunkedConversion
—should be used in preference to the old APIs, which are now deprecated.
SHA1
, SHA256
, and HMAC
have been renamed to Sha1
, Sha256
, and Hmac
, respectively. The old names still work, but are deprecated.
Top-level sha1
, sha256
, and md5
fields 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.
Hash.add
, Hash.close
, and Hash.newInstance
are deprecated. Hash.convert
should be used for hashing single values, and Hash.startChunkedConversion
should be used for hashing streamed values.
SHA1
and SHA256
are deprecated. Use the top-level sha1
and sha256
fields instead.
While the MD5
class is not deprecated, the new MD5()
constructor is. Use the top-level md5
field instead.
HMAC
is deprecated. Use Hmac
instead.
Base64Codec
, Base64Encoder
, Base64Decoder
, Base64EncoderSink
, Base64DecoderSink
, and BASE64
are deprecated. Use the Base64 APIs in dart:convert
instead.
CryptoUtils
is deprecated. Use the Base64 APIs in dart:convert
and the hex APIs in the convert
package instead.