Releases: Roydl/Crypto
Releases · Roydl/Crypto
1.2.3
1.2.1
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 ⭕)
1.1.1
- ✔️ Fixed issues in XmlDoc
- ➕ Removed all maximum bit limits
- ❌ Removed redundant enum aliases from
CrcOptions
enums - ➕ Added more CRC config presets (now there are almost 90 in total)
- ⭕ Redesigned
CrcConfig
to significantly improve performance 🔸 BREAKING CHANGE - ➕ Added
IChecksumResult
interface - ➕ Added various utilities to
CryptoUtils
class - ✔️ Fixed issue where
CRC-16/XMODEM
was incorrect for extension methods - ➕ Added
<Type>.Create()
methods forChecksumAlgorithm
types - ➕ Added explizit operators to
ChecksumAlgorithm
types
1.1.0
1.0.9
- Removed obsolete extension methods
- Fixed issues where the
CrcConfig
hash sizes were wrong in some cases - Fixed issue where the bit size could be larger than the generic type allows
- Added
IChecksumAlgorithm
method for text or file encryption - Added
BigInteger
type support forCrcConfig
- Added about 50 CRC config presets between 16 and 82 bit
1.0.8
- Fixed issue where array size limit in
GetBytes
was too large - Improved
CrcConfig
struct so that more CRC variations are supported - Added support for
FileInfo
objects - Added
Try
extensions which suppress exceptions - Added support for odd bit algorithms
- Removed vulnerable ECB (Electronic Code Book) encryption mode
- Increased the number of supported types of extensions by more than 30 types
- Renamend
Encrypt
extensions toGetChecksum
to avoid name collisions- (Obsolete extensions will be removed next version)
1.0.7
- Fixed an issue where the byte order of Adler-32 and CRC-16+32+64 was wrong on big-endian processor architecture
- Removed internal instance caching, which is no longer needed
- Reworked
GetGuid
extension method so that it combines the bytes of both hashes instead of cutting parts and placing them next to each other HMAC
encryption is now available for MD5 and SHA-1+2 by setting theSecretKey
instance field- The
SecretKey
can be removed from process memory by calling theDestroySecretKey()
instance method
- The
- General code improvements, minor fixes and expansion of the documentation
1.0.6
SymmetricKeyAlgorithm
classes are nowIDisposable
Dispose()
will try to completely remove the password and salt from memory. This will only work if there are no other references to these data outside
- Added interface and abstract generic class of
ChecksumAlgorithm
- Added
CrcConfig
structure to quickly create custom CRC classes according to other standards - Improved caching so that only used types are cached instead of all
- Minor fixes, improvements and code cleanups
1.0.5
- Removed binary-to-text encoding
- Can be found here: https://github.com/Roydl/Text
- Restruced some classes to avoid name conflicts
- Minor fixes