Module: Murky
- Defined in:
- lib/murky.rb,
lib/murky/dict.rb,
lib/murky/proof.rb,
lib/murky/version.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.1.2"
Class Method Summary collapse
- .Dict(*args) ⇒ Object
- .verify(root, siblings, value, digest: Digest::SHA256.new) ⇒ Object
- .xor(s1, s2) ⇒ Object
Class Method Details
.Dict(*args) ⇒ Object
105 106 107 |
# File 'lib/murky/dict.rb', line 105 def Dict(*args) Dict.new(*args) end |
.verify(root, siblings, value, digest: Digest::SHA256.new) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/murky.rb', line 9 def verify(root, siblings, value, digest: Digest::SHA256.new) Proof.new( root: root, siblings: siblings, signature: digest.digest(value.to_s), digest: digest ).valid? end |
.xor(s1, s2) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/murky.rb', line 18 def xor(s1, s2) s2, s1 = [s1, s2].sort_by(&:bytesize) s1.bytes.zip(s2.bytes).map do |x,y| ((x || 0) ^ (y || 0)).chr end.join end |