struct

HalfSipHash32(CROUNDS, DROUNDS)

Inherits Struct / Value / Object

A streaming version of HalfSipHash with a fixed UInt32 output.

An alternative SipHash pseudorandom function that uses a 64-bit key and generates 32-bit or 64-bit hashes, meant for 32-bit platforms. On 64-bit platform we advise to use SipHash instead.

While SipHash(2, 4) has been analyzed and verified to be cryptographically secure, HalfSipHash has not, and isn't expected to be. Results from the hasher should never be disclosed (e.g. use for table hashing on 32-bit).

See https://131002.net/siphash/ for more information.

Example:

key = uninitialized HalfSipHash32::Key
SecureRandom.random_bytes(key.to_slice)

hasher = HalfSipHash32(2, 4).new(key)
hasher.update("some ")
hasher.update("input data")
hash = hasher.final

Constructors

new(key : Key)
Source

Instance methods

final(output : Bytes) : Nil
Source
final
Source
update(data : String) : Nil
Source
update(data : Bytes) : Nil
Source

Nested types