#!/usr/bin/env python
import math
import hashlib
def H(data):
if not data:
return 0
entropy = 0
for x in range(len(data)):
p_x = float(data.count(chr(x)))/len(data)
if p_x > 0:
entropy += - p_x*math.log(p_x, 2)
return entropy
somerandomstring = 'some random data'
somerandomhash = hashlib.sha256(somerandomstring).digest()
somerandomhash2 = hashlib.sha256(somerandomhash).digest()
print "H(X) is the entroy function of X"
print "H('%s')=%s" % (somerandomstring, H(somerandomstring))
print "H(hash('%s'))=%s" % (somerandomstring,H(somerandomhash))