1.2.0
- ✔️ Implemented hardware mode for
CRC-32/C
(ARM + SSE4.2 CPU) - ✔️ Implemented hardware mode for
CRC-32/XZ
(ARM only) - ✔️ Implemented limited hardware mode for
Adler-32
(SSE2 CPU only) - ✔️ Improved documentation in many cases
- ✔️ Improved performance for all cyclic algorithms by up to 700%
- ✔️ Improved
byte[]
converter ofCryptoUtils
class - ✔️ Improved
Crc
class caching so that it is now a part ofCrcConfigManager
and is adjustable - ✔️ Replaced argument type
byte[]
by typeReadOnlySpan<byte>
whenever possible - ✔️ Reworked classes that uses built-in algorithms to support
Span<byte>
and improve performance - ✖️ Changed
ChecksumAlgo
enums so that most options are marked withEditorBrowsable(EditorBrowsableState.Never)
attribute to keep the visible list compact - ➕ Added constructor to
CrcConfigBeyond
that usesstring
instead ofBigInteger
, which automatically converts its value - ➕ Added flexible high performance
byte[]
tohexadecimal
converter toCryptoUtils
class - ➕ Added performance-optimized extension methods to hash all elements of
DirectoryInfo
objects - ➕ Added remarks for performance optimized algorithms
- ➕ Added
AlgorithmName
field toChecksumAlgorithm
types - ⭕ Changed
CRC-32
default algorithm toCRC-32/C
- ⭕ Changed type of
RawHash
field fromReadOnlyMemory<byte>
toReadOnlySpan<byte>
for allChecksumAlgorithm
types - ⭕ Removed all public constructors that takes arguments from all
ChecksumAlgorithm
types - ⭕ Renamed
Bits
toBitWidth
forCrcConfig
types - ⭕ Renamed
DecryptBytes
methods toDecrypt
for allSymmetricKeyAlgorithm
types - ⭕ Renamed
DecryptStream
methods toDecrypt
for allSymmetricKeyAlgorithm
types - ⭕ Renamed
EncryptBytes
methods toEncrypt
for allSymmetricKeyAlgorithm
types - ⭕ Renamed
EncryptStream
methods toEncrypt
for allSymmetricKeyAlgorithm
types - ⭕ Renamed
Encrypt
methods toComputeHash
for allChecksumAlgorithm
types - ⭕ Renamed
HashNumber
field toCipherHash
for allChecksumAlgorithm
types
(Note that all BREAKING CHANGES are marked with ⭕)