hashlib 2.2.0
hashlib: ^2.2.0 copied to clipboard
Secure hash functions, checksum generators, and key derivation algorithms optimized for Dart.
2.2.0 #
- Fixes typo: Alder is renamed to Adler
2.1.0 #
- Enhances the CRCs with custom polynomial support.
- Reduces global variables to optimize runtime memory.
- Removes deprecated utilities:
src/core/utils.dart.
2.0.0 #
- Support for random number generator based on sm3:
RNG.sm3 - Improves documentation
1.21.2 #
- Updates README.md
1.21.1 #
- Support for MD2:
md2,md2sum
1.21.0 #
- Moves random generators outside of the base package;
import 'package:hashlib/random.dart'; - Introduces UUID generators. Example:
uuid.v4()
1.20.4 #
- Ensure seed uniqueness in
RandomGeneratorsacross Isolates
1.20.3 #
- Exports hashlib_codecs from current package;
import 'package:hashlib/codecs.dart';
1.20.2 #
- Modifies
Poly1305interface:poly1305is now available as the builder.
1.20.1 #
- Modifies
MACHashandMACHashBaseinterfaces for better accessibility.
1.20.0 #
- Fixes issue in
shake128generatorandshake256generator: wrong bytes sequence after 168th and 136th. - Fixes
numberfor 64-bit integer output inHashDigest - Fixes
octfor octal string outupt inHashDigest - Bump version for
hashlib_codecs - [Breaking Changes]:
- Refactors
HashBaseandMACHashBase - Renames
argon2verify->argon2Verify - Renames
poly1305->poly1305auth, and removespoly1305pair - Removes for
tuneArgon2Security. It has been moved to examples folder. - Interfaces for
hmac,pbkdf2,Blake2bMACandBLAKE2sMAC - Duration for period in
TOTP.
- Refactors
1.19.2 #
- Expose infinite generator methods for SHAKE
shake128generatorshake256generator
- Generalize the random seed list generation to support web
- Expose methods to get padded string value from TOTP:
valueStringstreamString
1.19.1 #
- Improve support for random generator
HashlibRandomclass for generating random number, bool, strings etc.- Refactor
KeccakRandomto be available asHashlibRandom.keccak
- [Breaking Changes]:
- Remove all deprecated string extension
- Remove
consume, usebindinstead. consumeAsis renamed tostringStraem.- Introduced
byteStream - Adds
fillNumbersto fill List - Use secure random generator by default
1.18.1 #
- Fix import issue for web platform.
1.18.0 #
- Implement BCrypt algorithm.
- New class:
Bcrypt - New methods:
bcrypt,bcryptSalt,bcryptVerify,bcryptDigest
- New class:
- Convert all asUint...List to Uint...List.view
- Refactor:
Argon2.fromEncodedwill now acceptCryptDataonly. - New method:
Argon2Context.fromEncodedacceptingCryptData.
1.17.0 #
- Update Argon2 interface:
- Paramters
saltandhashLengthare now optional. - If absent,
saltis generated using default random generator. - Default hash length is now 32 instead of 24.
- Extracts method
Argon2Security.optimize->tuneArgon2Security
- Paramters
- Put deprecation message on string extensions
- Update benchmarks
1.16.0 #
- Implement SM3 algorithm.
- New constant:
sm3 - New method:
sm3sum
- New constant:
1.15.0 #
- Expose
currentTimeinTOTP - Implement MD4 algorithm.
- New constant:
md4 - New method:
md4sum
- New constant:
1.14.0 #
- Accept random number generator input in the following method parameters:
randomBytesfillRandom
- Adds new method to generate 32-bit random numbers:
randomNumbers - Adds
KeccakRandomas proof of concept random number generator.
1.13.1 #
- Expose
Poly1305Sinkto public.
1.13.0 #
- Breaking changes on public methods:
- renames
poly1305->poly1305pair - renames
poly1305auth->poly1305 - accepts 16 bytes key for
poly1305
- renames
- Refactor
Poly1305class structure. Breaking changes:- renames
Poly1305.auth->Poly1305.pair - removes getter
secret(keycontains both keypair).
- renames
- Refactor benchmark calculation.
1.12.1 #
- Optimize
HMACruntime. - Refactor
Argon2class structure. Breaking changes:- renames variable:
lanestoparallelism - renames variable:
passestoiterations
- renames variable:
- Bump version of the hashlib_codecs
1.12.0 #
- Breaking: The
HashDigest.base32andHashDigest.base64will have padding by default. - Bump version of the hashlib_codecs
1.11.4 #
- Move codecs to separate package: hashlib_codecs
- Support BigInt conversion in
HashDigest- Renames
remainder->number - Adds
bigIntmethod to getBigIntfrom bytes
- Renames
1.11.3 #
- Throws
FormatExceptionfor invalid characters in codecs - Adds
base2codes. New methods:fromBinarytoBinary
1.11.2 #
- Export codecs
- Update documentation
- Truncate seed to 32-bit integer for xxh32
1.11.1 #
- Export a few additional clases
BlockHashBaseBlockHashSinkHashBaseHashDigestSinkHashDigestArgon2HashDigestBlockHashRegistryHashRegistryUint8Codec
1.11.0 #
- Optimize Poly1305 implementation (30x improvement in hashrate)
- Optimize scrypt implementation (10x improvement in runtime)
- RIPEMD algorithm series. New hash functions:
ripemd128,ripemd128sumripemd160,ripemd160sumripemd256,ripemd256sumripemd320,ripemd320sum
- Codecs are now able to handle padding characters
1.10.0 #
- Adds support for
Poly1305MAC generation: #5- New class:
Poly1305 - New methods:
poly1305,poly1305auth
- New class:
- Adds support for OTP generation:
- Name all hash algorithms and a registry to loopup algorithms by name.
BlockHashRegistry- for block hash algorithmsHashRegistry- for all hash algorithms
- Adds random byte generator:
randomBytesmethod returns aList<int>fillRandommethod fills aByteBufferwith random values
- New default instances for
Shake128:shake128_128shake128_160shake128_224shake128_256shake128_384shake128_512
- New default instances for
Shake256:shake256_128shake256_160shake256_224shake256_256shake256_384shake256_512
- Adds two new methods to
MACHashBase:sign: generates a tag from a messageverify: verifies if a message and tag matches
- Updates
HashDigest- Adds
isEqualto match it with otherHashDigest,String,TypedData,ByteBuffer,List<int>,Iterable<int> - Use custom equality check
- Adds
- Extracts few methods from utils and create codecs:
- Available:
ASCIICodecB16CodecB32CodecB64CodecB64URLCodec
- New or transferred methods:
toAsciifromAsciitoHexfromHextoBase32fromBase32toBase64fromBase64toBase64UrlfromBase64Url
- New constants:
asciibase16base16lowerbase32base32lowerbase64base64url
- Available:
- New example:
otpauth_parser.dart. It can decode migration string from Google Authenticator and parse any valid otpauth string. - Updates benchmarks
1.9.0 #
- Adds SCRYPT:
- New class:
Scrypt - New method:
scrypt
- New class:
- Changes in
PBKDF2and extensions:- parameter type of
keyLength - use default iterations = 1000
- adds validation in the constructor
- adds global
pbkdf2function
- parameter type of
1.8.1 #
- Improves
dart runusing@pragma('vm:prefer-inline') - Adds new methods:
crc64sumxxh64sumxxh3sumxxh128sum
- Removes methods:
xxh128code
1.8.0 #
- Adds xxHash64
- New class:
XXHash64 - New constants:
xxh64,xxh64code - String extension:
xxh64code
- New class:
- Adds xxHash32
- New class:
XXHash32 - New constants:
xxh32,xxh32code - String extension:
xxh32code
- New class:
- Adds XXH3-64
- New class:
XXH3 - New constants:
xxh3,xxh3code - String extension:
xxh3code
- New class:
- Adds XXH3-128
- New class:
XXH128 - New constants:
xxh128,xxh128code - String extension:
xxh128code
- New class:
- Internal changes:
- Removes the parameters from
$finalizemethod inBlockHash - Uses
>>>instead of>>
- Removes the parameters from
- Uses Hash Rate instead of Runtime for benchmarks
1.7.0 #
- Renames
Argon2Security.small->Argon2Security.little - Adds
Argon2Security.optimizemethod to find optimal parameters for a desired runtime. - Define
KeyDerivatorand extend it forArgon2 - Modify internal structure of
Argon2to make it faster. - Implement
resetfunctionality for all hash sinks. - Define and use
BlockHashBasefor some algorithms. - Renames
BlockHash->BlockHashSink - Replaces the RFC links to ietf domain.
- Adds
PBKDF2key derivator. - Adds extension to
HMACto createPBKDF2instance. - Define
MACHashBaseandMACSinkBasefor Message Authentication Code generators. - Reset features for
crc16,crc32,crc64,adler32, andhmacinternal sinks. - Enhance
blake2bandblake2sfor MAC generation - Breaking change:
- Accept number of bytes instead of bits for
Blake2bandBlake2s - Removes all
Blake2b.of##andBlake2s.of##methods
- Accept number of bytes instead of bits for
1.6.1 #
- Fixes enum name getter usage issue for Dart < 2.15.0
1.6.0 #
- Optimize Argon2 (Now it is 6 times faster than 1.5.0)
- Support for Argon2 in Node platform (TODO: requires optimization)
- Renames
Argon2Context->Argon2with the following change:convert()will generate password hash and return anArgon2HashDigestencode()will generate password hash and return argon2 encoded string.toInstance()is renamed toinstanceto get a singleton instance.- The method
encode()is renamed toconvert()inside theinstance.
- Adds
Argon2Securityexposing some default parameter choices which can be used with these quick access functions:argon2dargon2iargon2id
- Argon2 will now return the
Argon2HashDigest, containing a few changes overHashDigest:encoded()will return the argon2 hash as encoded format.toString()will return the encoded hash instead of the password hash.
- Implement custom
toBase64andfromBase64in utils for faster conversion without padding. - Changes to
HashDigest:- merge
base64andbase64urlmethods into one. - uses custom base64 conversion that does not include
=padding. - removes
lantin1
- merge
1.5.0 #
- Fixes issues with web platform
- Adds web support to
blake2b - Adds Argon2, the Password Hashing Competition winner.
1.4.0 #
- Modifies the internal structure for better accessibility
- Fixes stream binding issue in
HashBase - Removes a lot of string extensions. Remaining ones are:
sha512digestsha256digestsha224digestsha3_512digestsha3_384digestsha3_256digestsha3_224digestsha1digestmd5digestcrc32code
- Accepts file input in
HashBase - Accepts
saltandpersonalizationvalues withBlake2sandBlake2b
1.3.0 #
- Reduces memory overhead by utilizing the buffer in all
BlockHash - Fixes broken sha512 hash fo web VM
- New features:
blake2sblake2b
1.2.0 #
- New features available:
crc16crc32crc64adler32
1.1.0 #
- Adds
Stringextensions for convenient use all algorithms. - Renames functions:
sha512sum224->sha512t224sumsha512sum256->sha512t256sum
- Renames function for
HashBase:HashBase.stream->HashBase.consumeHashBase.stringString->HashBase.consumeAs
- Modifies the internal
HashDigestSink:- Implements
ByteConversionSinkinstead of extendingSink<List<int>> - Use
addSliceinstead ofadd
- Implements
- Improves performance of some algorithms
1.0.0 #
- First release