Skip to content

1.2.0

Compare
Choose a tag to compare
@Si13n7 Si13n7 released this 24 Jun 23:10
· 24 commits to master since this release
  • ✔️ 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 of CryptoUtils class
  • ✔️ Improved Crc class caching so that it is now a part of CrcConfigManager and is adjustable
  • ✔️ Replaced argument type byte[] by type ReadOnlySpan<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 with EditorBrowsable(EditorBrowsableState.Never) attribute to keep the visible list compact
  • ➕ Added constructor to CrcConfigBeyond that uses string instead of BigInteger, which automatically converts its value
  • ➕ Added flexible high performance byte[] to hexadecimal converter to CryptoUtils class
  • ➕ Added performance-optimized extension methods to hash all elements of DirectoryInfo objects
  • ➕ Added remarks for performance optimized algorithms
  • ➕ Added AlgorithmName field to ChecksumAlgorithm types
  • ⭕ Changed CRC-32 default algorithm to CRC-32/C
  • ⭕ Changed type of RawHash field from ReadOnlyMemory<byte> to ReadOnlySpan<byte> for all ChecksumAlgorithm types
  • ⭕ Removed all public constructors that takes arguments from all ChecksumAlgorithm types
  • ⭕ Renamed Bits to BitWidth for CrcConfig types
  • ⭕ Renamed DecryptBytes methods to Decrypt for all SymmetricKeyAlgorithm types
  • ⭕ Renamed DecryptStream methods to Decrypt for all SymmetricKeyAlgorithm types
  • ⭕ Renamed EncryptBytes methods to Encrypt for all SymmetricKeyAlgorithm types
  • ⭕ Renamed EncryptStream methods to Encrypt for all SymmetricKeyAlgorithm types
  • ⭕ Renamed Encrypt methods to ComputeHash for all ChecksumAlgorithm types
  • ⭕ Renamed HashNumber field to CipherHash for all ChecksumAlgorithm types

(Note that all BREAKING CHANGES are marked with ⭕)