#- Double-SHA256-Test-Vectors.py
#- Copyright (c) 2018, HerongYang.com, All Rights Reserved.

import hashlib
import binascii
 
def doubleSha256(hex): 
   bin = binascii.unhexlify(hex)
   hash = hashlib.sha256(bin).digest()
   hash2 = hashlib.sha256(hash).digest()
   print("Input Hex: "+str(hex,"ascii"))
   print("Single SHA256:\n   "+str(binascii.hexlify(hash),"ascii"))
   print("Double-SHA256:\n   "+str(binascii.hexlify(hash2),"ascii"))

print("\nTest 1:")
ascii = "b5f60977102f95a9ed855b61acec86e2e434248b38c5f263ccf708a302832f3c"
hex1 = b"b5f60977102f95a9ed855b61acec86e2e434248b38c5f263ccf708a302832f3c"
print("Input ASCII: "+ascii)
doubleSha256(hex1)

print("\nTest 2:")
ascii = "e6922d44c520c52dca2cd5300784af55944c11839684e5c1671d9b330f871f55"
hex2 = b"e6922d44c520c52dca2cd5300784af55944c11839684e5c1671d9b330f871f55"
#hex2 = binascii.hexlify(bytes(ascii,"ascii"))
print("Input ASCII: '"+ascii+"'")
doubleSha256(hex2)

print("\nTest 3:")
#ascii = "The quick brown fox jumps over the lazy dog"
#hex = binascii.hexlify(bytes(ascii,"ascii"))
#print("Input ASCII: '"+ascii+"'")
firstreverse = hex1.decode('hex')[::-1]
secondreverse = hex2.decode('hex')[::-1]

#doubleSha256(hex1 + hex2)
doubleSha256(firstreverse + secondreverse)

