module Crypto

Public Class Methods

blake2_128(bytes) click to toggle source
# File lib/substrate_common.rb, line 72
def self.blake2_128(bytes)
  data = bytes.bytes_to_utf8
  Blake2b.hex data, Blake2b::Key.none, 16
end
blake2_128_concat(bytes) click to toggle source
# File lib/substrate_common.rb, line 82
def self.blake2_128_concat(bytes)
  blake2_128(bytes) + bytes.bytes_to_hex[2..]
end
blake2_256(bytes) click to toggle source
# File lib/substrate_common.rb, line 77
def self.blake2_256(bytes)
  data = bytes.bytes_to_utf8
  Blake2b.hex data, Blake2b::Key.none, 32
end
identity(bytes) click to toggle source
# File lib/substrate_common.rb, line 48
def self.identity(bytes)
  bytes.bytes_to_hex[2..]
end
twox128(data) click to toggle source
# File lib/substrate_common.rb, line 58
def self.twox128(data)
  bytes = []
  2.times do |i|
    result = XXhash.xxh64 data, i
    bytes = bytes + result.to_s(16).rjust(16, '0').hex_to_bytes.reverse
  end
  bytes.bytes_to_hex[2..]
end
twox64(data) click to toggle source
# File lib/substrate_common.rb, line 52
def self.twox64(data)
  result = XXhash.xxh64 data, 0
  bytes = result.to_s(16).rjust(16, '0').hex_to_bytes.reverse
  bytes.bytes_to_hex[2..]
end
twox64_concat(bytes) click to toggle source
# File lib/substrate_common.rb, line 67
def self.twox64_concat(bytes)
  data = bytes.bytes_to_utf8
  twox64(data) + bytes.bytes_to_hex[2..]
end