Module: BTC::HashFunctions
- Included in:
- BTC
- Defined in:
- lib/btcruby/hash_functions.rb,
lib/btcruby/hash_functions.rb
Overview
This allows doing BTC.sha256(...)
Constant Summary collapse
- OPENSSL_DIGEST_NAME_SHA256 =
'sha256'.freeze
- OPENSSL_DIGEST_NAME_SHA512 =
'sha512'.freeze
Instance Method Summary collapse
- #hash160(data) ⇒ Object
- #hash256(data) ⇒ Object
- #hmac_sha256(data: nil, key: nil) ⇒ Object
- #hmac_sha512(data: nil, key: nil) ⇒ Object
- #ripemd160(data) ⇒ Object
- #sha1(data) ⇒ Object
- #sha256(data) ⇒ Object
- #sha512(data) ⇒ Object
Instance Method Details
#hash160(data) ⇒ Object
39 40 41 |
# File 'lib/btcruby/hash_functions.rb', line 39 def hash160(data) ripemd160(sha256(data)) end |
#hash256(data) ⇒ Object
35 36 37 |
# File 'lib/btcruby/hash_functions.rb', line 35 def hash256(data) sha256(sha256(data)) end |
#hmac_sha256(data: nil, key: nil) ⇒ Object
46 47 48 49 |
# File 'lib/btcruby/hash_functions.rb', line 46 def hmac_sha256(data: nil, key: nil) raise ArgumentError, "Data is missing" if !data || !key ::OpenSSL::HMAC.digest(OPENSSL_DIGEST_NAME_SHA256, key, data) end |
#hmac_sha512(data: nil, key: nil) ⇒ Object
51 52 53 54 |
# File 'lib/btcruby/hash_functions.rb', line 51 def hmac_sha512(data: nil, key: nil) raise ArgumentError, "Data is missing" if !data || !key ::OpenSSL::HMAC.digest(OPENSSL_DIGEST_NAME_SHA512, key, data) end |
#ripemd160(data) ⇒ Object
30 31 32 33 |
# File 'lib/btcruby/hash_functions.rb', line 30 def ripemd160(data) raise ArgumentError, "Data is missing" if !data Digest::RMD160.digest(data) end |
#sha1(data) ⇒ Object
15 16 17 18 |
# File 'lib/btcruby/hash_functions.rb', line 15 def sha1(data) raise ArgumentError, "Data is missing" if !data Digest::SHA1.digest(data) end |
#sha256(data) ⇒ Object
20 21 22 23 |
# File 'lib/btcruby/hash_functions.rb', line 20 def sha256(data) raise ArgumentError, "Data is missing" if !data Digest::SHA256.digest(data) end |
#sha512(data) ⇒ Object
25 26 27 28 |
# File 'lib/btcruby/hash_functions.rb', line 25 def sha512(data) raise ArgumentError, "Data is missing" if !data Digest::SHA512.digest(data) end |