Skip to content

v2.0.0

Latest
Compare
Choose a tag to compare
@saucecontrol saucecontrol released this 13 Jun 20:08
· 17 commits to master since this release

Breaking Changes

  • The root namespace has been changed from SauceControl.Blake2Fast to simply Blake2Fast.
  • CreateIncrementalHasher now returns the hash state struct directly rather than a boxed IBlake2Incremental reference. This enables GC allocation-free incremental hashing.
  • The code to support running on big-endian platforms has been removed. This code was never tested, and leaving it out simplifies the remaining implementation.

IBlake2Incremental Improvements

  • Added Finish(Span<byte>) overload.
  • Added DigestLength property so the size of span required for Finish(Span<byte>) can be queried in advance.
  • Added Update<T>() generic methods accepting a struct, array of struct, or Span of struct.
  • Update() now throws if called after Finish()

Performance Improvements

  • The SSE4.1 BLAKE2s and AVX2 BLAKE2b implementations are roughly 10% faster than in v1.0