sha256 only calculates when called. use property attribute to control gets and sets pythonically.