Digest::SipHash
Digest::SipHash is a class of message digest use algorithm SipHash.
Usage
require 'digest/siphash'
p Digest::SipHash.digest("siphash") #=> "\x59\xca\xae\xb9\x0d\x54\x24\x64"
p Digest::SipHash.hexdigest("siphash") #=> "59caaeb90d542464"
you can change seed string(128bits).
seed default value is SipHash::DEFAULT_SEED
("\x00" * 16)
seed = (0..0x0f).to_a.pack("C16")
p Digest::SipHash.digest("siphash", seed) #=> "\x88\x27\x68\x57\x0d\xc7\x1c\x92"
p Digest::SipHash.hexdigest("siphash", seed) #=> "882768570dc71c92"
and other way. instance use.
siphash = Digest::SipHash.new
siphash.update "siphash"
p siphash.hexdigest #=> "59caaeb90d542464"
# of course, can change seed value.
siphash.seed = (0..0x0f).to_a.pack("C16")
p siphash.hexdigest #=> "882768570dc71c92"
Installation
Add this line to your application's Gemfile:
gem 'digest-siphash'
And then execute:
$ bundle
Or install it yourself as:
$ gem install digest-siphash