URI: 
       thashes.py - obelisk - Electrum server using libbitcoin as its backend
  HTML git clone https://git.parazyd.org/obelisk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       thashes.py (1215B)
       ---
            1 #!/usr/bin/env python3
            2 # Copyright (C) 2020-2021 Ivan J. <parazyd@dyne.org>
            3 #
            4 # This file is part of obelisk
            5 #
            6 # This program is free software: you can redistribute it and/or modify
            7 # it under the terms of the GNU Affero General Public License version 3
            8 # as published by the Free Software Foundation.
            9 #
           10 # This program is distributed in the hope that it will be useful,
           11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
           12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           13 # GNU Affero General Public License for more details.
           14 #
           15 # You should have received a copy of the GNU Affero General Public License
           16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
           17 """ Cryptographic hash functions and helpers """
           18 import hashlib
           19 
           20 _sha256 = hashlib.sha256
           21 
           22 
           23 def sha256(inp):
           24     """ Simple wrapper of hashlib sha256. """
           25     return _sha256(inp).digest()
           26 
           27 
           28 def double_sha256(inp):
           29     """ sha256 of sha256, as used extensively in bitcoin """
           30     return sha256(sha256(inp))
           31 
           32 
           33 def hash_to_hex_str(inp):
           34     """Convert a big-endian binary hash to displayed hex string.
           35     Display form of a binary hash is reversed and converted to hex.
           36     """
           37     return bytes(reversed(inp)).hex()